#49528 [Opn]: UTF-16 strings prefixed by BOMs wrondly converted
| From: | sjoerd@php.net | Date: | Fri, 11 Sep 2009 08:18:38 +0000 |
| Subject: | #49528 [Opn]: UTF-16 strings prefixed by BOMs wrondly converted | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-142244@lists.php.net to get a copy of this message | ||
ID: 49528
Updated by: sjoerd@php.net
Reported By: moriyoshi@php.net
Status: Open
Bug Type: mbstring related
Operating System: N/A
PHP Version: 5.3SVN-2009-09-11 (SVN)
New Comment:
It can be argued that the BOM character U+FEFF should never be
converted, as it is no real character.
I don't think it is the task of mb_convert_encoding to detect the byte
order and interpret the BOM.
Previous Comments:
------------------------------------------------------------------------
[2009-09-11 07:45:05] moriyoshi@php.net
Description:
------------
The first character of a UTF-16 string prefixed by "\xff\xfe" (LE BOM)
gets converted to wrong Unicode codepoint. Moreover, the resulting
string contains the BOM itself while it is uncalled for.
Reproduce code:
---------------
<?php
var_dump(bin2hex(mb_convert_encoding("\xff\xfe\x01\x02\x03\x04",
"UCS-2", "UTF-16")));
?>
Expected result:
----------------
string(8) "02010403"
Actual result:
--------------
string(12) "feffff010403"
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=49528&edit=1