Qt直接使用中文的乱码问题

在main文件中添加代码:

#include <QTextCodec>

int main(int argc, char **argv)
{
    ....................
    QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312")); //“GB2112”或者"GBK"或者“System”
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));
    ....................
}

到底选择哪个编码,根据操作系统而定,如Windows下,“GB2312”就可以,而Fedora下就得用"GBK"或者"System"。

注:“System”是指获取系统编码

 

posted @ 2012-06-07 19:43  阿洒  阅读(181)  评论(0)    收藏  举报