Qt之中文乱码

来源:互联网 发布:cms 文章收费 编辑:程序博客网 时间:2024/05/21 10:34
在项目开发的过程中,中文乱码是比较常见的问题!用Qt开发也不例外,之前在做界面的时候没有发现什么问题,但是在程序移植的过程中问题出现了!
    在Windows下常使用的是GBK编码,Linux下常使用的是utf-8编码。
解决办法:
 
    //获取系统编码,否则移植会出现乱码
    QTextCodec *codec = QTextCodec::codecForName("System");
 
    //设置和对本地文件系统读写时候的默认编码格式
    QTextCodec::setCodecForLocale(codec);
 
    //设置传给tr函数时的默认字符串编码
    QTextCodec::setCodecForTr(codec);
 
    //用在字符常量或者QByteArray构造QString对象时使用的一种编码方式
    QTextCodec::setCodecForCStrings(codec);