当前位置: 技术问答>linux和unix
linux 不能正常显示汉字
来源: 互联网 发布时间:2016-06-27
本文导语: linux 在终端显示的汉字是正常的,可在QT中把同一个字符串用消息框显出来就是乱码了,这是怎么一回事,我应该怎么办? | 一个字符在不同码表里的值是不一样的。 比如“你”在GBK中表示...
linux 在终端显示的汉字是正常的,可在QT中把同一个字符串用消息框显出来就是乱码了,这是怎么一回事,我应该怎么办?
|
一个字符在不同码表里的值是不一样的。
比如“你”在GBK中表示是“AA BB”(举例而已),在unicode里表示是“CC DD”,在不同系统中因为应用的码表不同,看到的就不是同样的字。
对方是Windows,如果那个程序是非unicode的,八成是GBK编码,在linux这边要显示必须把这个字符串从GBK转成支持的编码。GTK+里有相应函数转,QT我不熟,肯定也有类似的东西。
比如“你”在GBK中表示是“AA BB”(举例而已),在unicode里表示是“CC DD”,在不同系统中因为应用的码表不同,看到的就不是同样的字。
对方是Windows,如果那个程序是非unicode的,八成是GBK编码,在linux这边要显示必须把这个字符串从GBK转成支持的编码。GTK+里有相应函数转,QT我不熟,肯定也有类似的东西。