Do you have a question? Post it now! No Registration Necessary. Now with pictures!
- Nick Wedd
May 23, 2007, 8:58 am
rate this thread
If I run mb_convert_encoding( $string, "UTF-8", "HTML-ENTITIES")
on a string containing "Е", it ought to produce the two bytes
whose decimal values are 208 149. But it produces the four bytes whose
decimal values are 242 175 184 159.
Is there a fix for this? Does a later version of PHP get it right, or
do I have to write my own conversion function?
Nick Wedd email@example.com
Indeed, it is a bug: mbstring lacks support for numeric hex entities,
they are decoded as if were decimals, so 'x' becomes the "decimal digit"
'x'-'0'=120-48=72, from which the strange value you obtained. I already
sent a short patch to internalsATlists.php.net, hoping be the right place.
PS. If you are playing with such a conversion, chances are that your HTML
pages are not properly encoded. Sure you need to do that?
/_|_\ Umberto Salsi