Bug #18521 Updated: htmlentities with charset iso-8859-7 anomalies
| From: | sniper@php.net | Date: | Wed, 24 Jul 2002 23:26:34 +0000 |
| Subject: | Bug #18521 Updated: htmlentities with charset iso-8859-7 anomalies | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-15090@lists.php.net to get a copy of this message | ||
ID: 18521
Updated by: sniper@php.net
Reported By: spud@nothingness.org
-Status: Open
+Status: Feedback
Bug Type: Strings related
Operating System: Linux (RedHat 7.2)
PHP Version: 4.2.2
New Comment:
Provide a short but complete example script for us to test with. (the
sample text also!)
Previous Comments:
------------------------------------------------------------------------
[2002-07-23 23:29:50] spud@nothingness.org
PHP compiled with:
./configure --with-config-file-path=/usr/local --with-mysql --with-gd
--with-gettext=/usr/bin --with-jpeg-dir --with-png-dir --with-tiff-dir
--with-ttf --with--enable-bcmath --enable-inline-optimization
--enable-sysvsem --enable-sysvshm --enable-trans-sid
--enable-shared-pdflib --with-regex=system --with-zlib
--with-curl=/usr/include --enable-sockets --with-apxs=/usr/sbin/apxs
I have been attempting to internationalize my PHP application
(specifically to support Greek). Data is stored in MySQL, and displayed
on the page using
nl2br(htmlentities($body))
For internationalization, I changed this to
nl2br(htmlentities($body,ENT_COMPAT,'ISO-8859-7'))
...but the Greek text appears on the page as accented Latin 1
characters, rather than Greek. (This line is the only "short script"
necessary to reproduce the problem, as long as the $body variable
contains Greek text).
If I use htmlspecialchars() instead, still indicating the charset, the
text appears fine (in Greek). If I simply use
nl2br($body)
it also appears in Greek (but won't, obviously, escape any special
characters). So its appears to be directly related to htmlentities().
The web page itself contains a META header indicating
content="text/html; charset=ISO-8859-7"
...so the page should know what charset to expect, and shouldn't be
part of the problem.
This bug was also present in PHP 4.2.1.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=18521&edit=1