1.现象
(1)QString是支持英文的linux 添加中文字符集linux系统介绍,所以QT也是支持英文的。好多人碰到问题,并不是本身QString的问题,而是没有将自己希望的字符串正确的赋给QString。
(2)乱码的问题是由编码和解码方法导致的。涉及到编码形式的地方有3个:
·源码字符集(cpp和肉文件)
·执行字符集(编译器)
·运行环境字符集(操作系统)
(3)Linux平台基本上统一为UTF8linux开发培训,基本不会出现乱码。QT英文乱码实际上基本发生在Windows平台上。
错误现象包括:
不能正常编译
界面是乱码
2、解决方式一
代码文件装换方式参考《QT的跨平台开发问题(1)文件编码》
(1)Linux平台下,假如是在linux系统下创建的工程linux 添加中文字符集,不须要受任何修改,不会出现乱码。假如是其它系统平台,须要把文件转成标准utf8编码。
(2)windows平台下的QT4(VS2008),须要在main函数中添加
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
源文件编码是ansi。
(3)windows平台下的QT5(VS2015),在须要在main函数中添加QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());在每位英文字符前加QString::fromLocal8Bit("退出")
源文件编码是utf8-BOM。
这些技巧基本可以解决所有情况的英文乱码问题。
3、解决方式二
使用QtLinguist(QT语言家)。