QT相关|qt中文的又一解决方法

最近学用QT,发现中文字串乱码,翻了论坛之后学会了
main.cpp里设置如下:

  1. QTextCodec *codec = QTextCodec::codecForName("GB2312");
  2. QTextCodec::setCodecForLocale(codec);
  3. QTextCodec::setCodecForCStrings(codec);
  4. QTextCodec::setCodecForTr(codec);
其实很简单,没那么复杂。出现乱码的问题是你编写代码的文件编码和complied不一致。

如果使用Qt Ctreator,将文件编码设置为utf-8,或者其他字符集X(Edit | Select encoding),
然后,QTextCodec::setCodecForTr( QTextCodec::codecForName( "utf8" ));
只要明确知道自己编辑的文件是什么编码,然后再转编码。你编辑的文件是X字符集,utf8 改x即可。

    推荐阅读