Re: [PATCH] Changing entity charset handlinginext/standard/html.c

From: Date: Thu, 17 Oct 2002 05:48:47 +0000
Subject: Re: [PATCH] Changing entity charset handlinginext/standard/html.c
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-89609@lists.php.net to get a copy of this message
Yep, as far as I read the archives, I haven't found any discussions on the charset related backwards problems. So I wrote "*exactly* about this issue". You may want to redirect me to bug #9392 (http://bugs.php.net/bug.php?id=9392), but it doens't seem to help... In addition, I found determining the internal charset by LC_CTYPE is dangerous because setlocale() is not thread-safe in some libc implementations (glibc seems to be that one). I'm going to read archives more carefully, though I think even handling the charset in phpinfo() will yield the same discussion in the future. Moriyoshi Koizumi "Wez Furlong" <wez@thebrainroom.com> wrote: > Search the archives for the discussion. > phpinfo could determine the charset as your patch does at the start, > and then pass the info in php_escape_html_entities. > > Seems easy to me. > > --Wez. > > On 10/16/02, "Moriyoshi Koizumi" <moriyoshi@at.wakwak.com> wrote: > > Wez Furlong <wez@thebrainroom.com> wrote: > > > Unfortunately, we absolutely must remain 100% backwards compatible with > > > htmlentities(), so this patch should not be applied. > > > > Were there any discussions exactly about this issue? Though I have to see > > some historical reason, however I don't understand why 100% backwards > > compatibility is required for htmlentities(). > > Because the patched htmlentities() acts in the same way with default > > configuration, and IMHO defaulting to iso-8859-1 is quite meaningless for > > the scripts that uses other charsets than it. > > > > Hmm... otherwise I would like to suggest a mbstring function like > > mb_htmlentities(), but it would sound like a reinvention of the same > > wheel... > > > > > However, I don't see a problem with making phpinfo determine the charset > > > and passing that on to the internal htmlentities function? > > > > The problem is that php_info_html_esc() in ext/standard/info.c calls > > php_escape_html_entities() with no charset information specified. Without > > the patch, every character is treated as ISO-8859-1 even if a fetched > > character is actually a mere first byte of a multibyte character. > > > > > > Moriyoshi Koizumi > > > > > > > > -- > > PHP Development Mailing List <http://www.php.net/> > > To unsubscribe, visit: http://www.php.net/unsub.php > > >

« previous php.dev (#89609) next »