QT程序中文乱码问题

初学QT,经常会参考demo或者前辈的代码,在使用别人的代码时经常会遇到中文显示乱码问题

第一种:在代码中显示乱码

QT程序中文乱码问题

解决方法:在QT creator中选择 编辑 下的 select EnCoding 进入上图界面,并选择适用自己的编码方式(常用的有UTF-8、GBK)按编码保存,再重新载入

Note :windows下默认编码格式为GBK,Linux下默认编码格式为UTF8

第二种:在程序中显示乱码

以下代码在QT4.8.6中测试通过

#ifdef WIN32
    QTextCodec *codec = QTextCodec::codecForName("GBK");
    QTextCodec::setCodecForTr(codec);
    QTextCodec::setCodecForLocale(codec);
    QTextCodec::setCodecForCStrings(codec);
#else
    QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForTr(codec);
    QTextCodec::setCodecForLocale(codec);
    QTextCodec::setCodecForCStrings(codec);
#endif

QT程序中文乱码问题

上图转自https://blog.****.net/libaineu2004/article/details/19245205

QT程序中文乱码问题

 

欢迎大家指教,希望大家喜欢

路漫漫其修远兮,同志仍须努力