最近学用QT,发现中文字串乱码,翻了论坛之后学会了
main.cpp里设置如下:
main.cpp里设置如下:
- QTextCodec *codec = QTextCodec::codecForName("GB2312");
- QTextCodec::setCodecForLocale(codec);
- QTextCodec::setCodecForCStrings(codec);
- QTextCodec::setCodecForTr(codec);
其实很简单,没那么复杂。出现乱码的问题是你编写代码的文件编码和complied不一致。
如果使用Qt Ctreator,将文件编码设置为utf-8,或者其他字符集X(Edit | Select encoding),
然后,QTextCodec::setCodecForTr( QTextCodec::codecForName( "utf8" ));
只要明确知道自己编辑的文件是什么编码,然后再转编码。你编辑的文件是X字符集,utf8 改x即可。
如果使用Qt Ctreator,将文件编码设置为utf-8,或者其他字符集X(Edit | Select encoding),
然后,QTextCodec::setCodecForTr( QTextCodec::codecForName( "utf8" ));
只要明确知道自己编辑的文件是什么编码,然后再转编码。你编辑的文件是X字符集,utf8 改x即可。