Window下的QT中文编程注意事项

来源:互联网 发布:软件会自动更新 编辑:程序博客网 时间:2024/05/16 18:05
QT下非英文字符可以通过设置编码来解决乱码问题:(假设你是在WINDOWS下编程)
//导入
#include <QTextCodec>


//设置 QObject::tr()里面的编码格式
// 例子: QLabel b(QObject::tr("这些是可国际化的字符"));
    QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));

//设置直接的字符串的编码格式:
//例子: QLabel a("要显示的中文");
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
 
我用的是NotePad++
但出现了乱码,原因是:我把NotePad++的默认编码设置为UTF-8了(同理,如果你是用Eclipse的话也可能会出现乱码)

我想起这个问题,于是把GBK换成了 UTF-8 但是这回编译不能通过了!!
再仔细看看NotePad++的编码选项,发现还有一个UTF-8 without BOM 于是试了试这个。DONE!!

上网搜了下:
下面这网址说得非常清楚什么是UTF-8 BOM (不过太长,我没细看。。。)
http://bbs.nettf.net/forums/index.php?showtopic=55300


PS:用eclipse设置的好像就是UTF-8 without BOM(没有UTF-8和UTF-8 without BOM两种选项)