UTF-16文件无法正确打印

时间:2013-05-06 11:24:24

标签: c linux unix unicode

预计:Тестирование
实际:ÂÕáâØàÞÒÐÝØÕ

该文件已经是UTF-16,但预期结果与实际结果不同。谁知道为什么会这样。我使用了char数组和w_char,但结果仍然相同。

附加:使用iconv将文件从默认编码ISO-8859-15转换为UTF16。

非常感谢您的回答。

1 个答案:

答案 0 :(得分:4)

> echo ÂÕáâØàÞÒÐÝØÕ | iconv -f UTF-8 -t ISO8859-1 | iconv -f ISO8859-5 -t UTF-8
Тестирование
> echo Тестирование | iconv -f UTF-8 -t ISO8859-5 | iconv -f ISO8859-1 -t UTF-8
ÂÕáâØàÞÒÐÝØÕ

所以这真的是ISO8859-5数据被解释为ISO8859-1。 (图中所示的UTF-8转换是必需的,因为我的终端工作在UTF-8)。在任何地方都没有UTF-16。

这很奇怪,因为没有人使用ISO8859-5。