Linux上的UTF8问题

时间:2010-06-10 18:40:35

标签: linux encoding

我有一些代码从数据库中获取一些数据,数据库代码页是UTF8。当我在linux盒子上运行代码时,一些字符会出现问号(?)但是当我在Windows服务器上运行相同的代码时,所有字符都会正确显示。

当我这样做时: $> $ LANG 返回以下内容  en_SG.UTF-8

en_SG看起来不正确,它应该是en_US 但返回的字符串的后半部分是UTF-8,这很好。还有什么我可以研究解决字符损坏问题吗?

2 个答案:

答案 0 :(得分:0)

一般来说,?当您拥有的字体没有该Unicode代码点的表示时出现。你在看什么以及你使用什么字体?

答案 1 :(得分:0)

您能否提供有关环境的信息?您正在使用哪种编程语言,使用哪些库或方法连接到数据库并从数据库中提取信息,以及您使用哪些库将数据输出到文件?

我假设运行代码的两个实例(在Windows和Linux上)都在访问来自同一物理数据库的数据。

我要寻找的罪魁祸首是你的一个I / O正在将Unicode数据转换为其他一些(可能是ASCII或Latin1)代码页。

可能是数据库本身正在转换,因为数据库方法默认为不同的编码。可能是数据库方法正在转换传入的信息,因为语言本身默认为不同的代码页。可能是输出方法正在转换。