在项目开发的过程中,中文乱码是比较常见的问题!用Qt开发也不例外,之前在做界面的时候没有发现什么问题,但是在程序移植的过程中问题出现了!
在Windows下常使用的是GBK编码,Linux下常使用的是utf-8编码,参考了很多资料还是有问题!最后但还是解决了。
解决办法:
//获取系统编码,否则移植会出现乱码
QTextCodec *codec = QTextCodec::codecForName("System");
//设置和对本地文件系统读写时候的默认编码格式
QTextCodec::setCodecForLocale(codec);
//设置传给tr函数时的默认字符串编码
QTextCodec::setCodecForTr(codec);
//用在字符常量或者QByteArray构造QString对象时使用的一种编码方式
QTextCodec::setCodecForCStrings(codec);
注:
技术在于交流、沟通,转载请注明出处并保持作品的完整性。