2017-04-21 52 views
1

當我試圖將UTF-8轉換爲UTF-16時,我在使用iconv vs mb_convert_encoding時得到了不同的結果。UTF-8到UTF-16,使用iconv vs mbstring的不同結果

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

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

通知在的iconv()輸出的開始的開始的兩個碼元。

有關mb_convert_encoding爲什麼不相同的想法?

謝謝。

回答

2

iconv在輸出字符串的尾部加上BOM。所以爲了轉換字符串,你可能想要使用mb_convert_encodingiconv對文件可能更有用。

+0

謝謝。如果我將UTF-16 BOM字符添加到mb_convert_encoding()字符串中,我會得到與iconv()完全相同的輸出。 – AnthonyRyan