(1)、中文编码一律使用QString::fromLocal8Bit()接口。
原因:需要支持QT4版本。QStringLiteral()方法也可取,但是它只支持QT5版本,如果没有版本问题,可以使用。
(2)、CPP等文件编码一律使用UTF8—BOM格式。
原因1:UTF8-无BOM在使用window编译器cl中编译会失败,当然除非你Windows中使用QT的Mingw版本编译开发。
原因2:不使用GBK的文件编码是为了更容易的兼容到linux版本与windows中,否则你需要改QtCreate的编码环境与linux的系统字符环境。
设置编码读取:
QTextStream in(&file)in.setCodec("UTF-8")
while (!in.atEnd())
{
QString strRead = in.readLine()
}
出现了乱码解决方法:
安装qt,初学者建议安装以上推荐的mingw版,不用配置任何环境,启动为qtcreator.exe
2、新建项目以后,会出现两种情况:
1、文件乱码,控制台输出不乱码
2、文件不乱码,控制台输出乱码
3、我们需要做的是:选择工具-->选项-->文本编辑器
4、选择“显示“选项卡,勾选最后一个勾:display file encoding,然后右下角apply-->ok
5、这时候在你的文本编辑区域右上角就会显示一个文件编码的选项。
6、点击该编码,根据你的系统进行选择,如果是window选择GBK,其他系统如Linux选择utf-8,选好以后,点击按编码载入即可。如果你原本的文件里是utf-8模式下写的中文,那么你的编辑区域中文会乱码,只需要重写即可。否则下次仍为乱码。以后编写中文,window全在gbk模式下即可,qt乱码主要还是文件保存的编码格式与系统的编码格式不同造成的。
7、最后,在工具--->选项里,修改行为,文件编码中选择和自己系统相同的编码,这样保证编辑器每次打开你保存的代码也是以这个格式打开的,这样就确保编辑后保存,再次打开乱码的情况.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)