Qt中文乱码问题在4.x版本和5.x版本的解决方法

Qt程序中文经常乱码,虽然有QString::fromLocal8Bit()或者tr()函数可以将中文包起来,但是每个有中文的地方都输一遍还是有点麻烦,希望“一劳永逸”地解决。

在4.x版本中,可以使用QTextCodec类,在main函数一开始的时候做类似下面的设置:

QTextCodec::setCodecForLocale("GBK");
QTextCodec::setCodecForTr("GBK");

不过在5.x版本中这种方法不再适用了。

一个可以替代的“一劳永逸”方法是在每个.cpp文件的开头,添加下面的语句:

#pragma execution_character_set("utf-8")

注意,每个有中文显示的源文件都要添加。

你可能感兴趣的:(Qt学习,C++)