【问题标题】:UTF-8 to UTF-16, different results using iconv vs mbstringUTF-8 到 UTF-16,使用 iconv 与 mbstring 的不同结果
【发布时间】:2017-09-18 11:06:20
【问题描述】:

在尝试将 UTF-8 转换为 UTF-16 时,使用 iconv 与 mb_convert_encoding 时,我在 php 中得到了不同的结果。

echo iconv('UTF-8', 'UTF-16', 'test'); // ��test

echo mb_convert_encoding('test', 'UTF-16', 'UTF-8'); // test

注意 iconv() 输出开头的两个 � 符号。

对为什么 mb_convert_encoding 不这样做有什么想法吗?

谢谢。

【问题讨论】:

    标签: php utf-8 utf-16 iconv mbstring


    【解决方案1】:

    iconv 在输出字符串的开头添加BOM。所以对于转换字符串,你可能想使用mb_convert_encodingiconv 对文件更有用。

    【讨论】:

    • 谢谢。如果我将 UTF-16 BOM 字符添加到 mb_convert_encoding() 字符串中,我会得到与 iconv() 完全相同的输出。
    猜你喜欢
    • 2011-09-04
    • 2015-12-06
    • 1970-01-01
    • 2012-08-18
    • 2021-01-06
    • 1970-01-01
    • 2021-01-30
    • 2011-01-11
    • 2018-12-31
    相关资源
    最近更新 更多