前言:
此刻我们对“编译出现乱码”大体比较关怀,姐妹们都想要学习一些“编译出现乱码”的相关内容。那么小编同时在网上网罗了一些有关“编译出现乱码””的相关资讯,希望兄弟们能喜欢,同学们快快来学习一下吧!1. 现象
(1)QString是支持中文的,所以QT也是支持中文的。很多人遇到问题,并不是本身 QString 的问题,而是没有将自己希望的字符串正确的赋给QString。
(2)乱码的问题是由编码和解码方式引起的。涉及到编码方式的地方有3个:
· 源码字符集(cpp和h文件)
· 执行字符集(编译器)
· 运行环境字符集(操作系统)
(3) Linux平台基本上统一为UTF8,基本不会出现乱码。QT中文乱码实际上基本发生在Windows平台上。
错误现象包括:
2、解决方法一
代码文件装换方法参考《QT的跨平台开发问题(1)文件编码》
(1)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、 解决方法二
使用Qt Linguist(QT语言家)。
标签: #编译出现乱码 #qtmysql乱码 #qt代码乱码 #ubuntu qt中文乱码