Qt程序中文显示乱码的问题:
在Windows系统中QT默认都是GBK编码方式,而在Ubuntu环境设置默认是UTF-8(无BOM)编码方式。当QT程序从Ubuntu系统中转到Windows系统中运行或从Windows系统转到Ubuntu环境时就会出现程序显示乱码的问题。
在Windows系统中默认编码:System(简体中文windows系统默认指的是GBK编码,即下拉框选项里的GBK/windows-936-2000/CP936/MS936/windows-936)。
UTF-8与GBK(即ANSI)的互相转换,可以使用EditPlus工具对*.cpp,*.h和*.ui文件进行批量转换。这样就能保证QT程序中不显示乱码。
UTF-8和GBK两种编码的简单说明:
UTF-8:Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包。
GBK是国家标准GB2312基础上扩容后兼容GB2312的标准。GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。GBK包含全部中文字符&