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