ID: 30020
Updated by: [EMAIL PROTECTED]
Reported By: xing at mac dot com
-Status: Open
+Status: Bogus
Bug Type: Strings related
Operating System: Linux
PHP Version: 4.3.9RC2
New Comment:
This is not a bug at all, you're doing something wrong here ;-)
THe first part of your code is:
<?
$str = "Le Café< Café <";
$str = htmlentities($str,ENT_QUOTES,"UTF-8");
This will try to interpret the $str as an UTF-8 string and add
htmlentities for all utf-8 chars that it finds in here.
Because é< is not a valid combination as a multi-byte UTF8 character,
the é is simply skipped.
I don't know why the second é isn't stripped out though.
Anyway, your code is wrong, don't try to use an iso-8859-1 string as
UTF8.
Previous Comments:
------------------------------------------------------------------------
[2004-09-08 08:51:02] xing at mac dot com
gzipped code sent to [EMAIL PROTECTED]
------------------------------------------------------------------------
[2004-09-08 08:35:25] [EMAIL PROTECTED]
ascii is 7 bit, and accented characters are not in the 7 bit part and
thus could I see them with a different charset, please send me the
script.
------------------------------------------------------------------------
[2004-09-08 08:29:14] xing at mac dot com
There should be no hidden UTF-8 characters in the string: all ascii
compliant including the french accented e.
I did however have an error in the code where extra "(" was added. Here
is the complete and correct code you can just copy-paste from any
browser.
------
<?
$str = "Le Caf�< Caf� <";
$str = html_entity_decode(htmlentities($str,ENT_QUOTES,"UTF-8"));
echo $str;
?>
------------------------------------------------------------------------
[2004-09-08 07:46:50] [EMAIL PROTECTED]
Can you e-mail me the scripts (in a zip file or something)? I am afraid
the bugsystem doesn't handle UTF8 well.
------------------------------------------------------------------------
[2004-09-08 04:43:08] xing at mac dot com
Description:
------------
htmlentities function appears to eat "�<" but correctly handle "� <".
Reproduce code:
---------------
$str = "Le Caf�< Caf� <";
$str = html_entity_decode((htmlentities($str,ENT_QUOTES,"UTF-8"));
Expected result:
----------------
"Le Caf�< Caf� <"
Actual result:
--------------
"Le Caf< Caf� <"
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=30020&edit=1