Qt 4.4中文乱码
QT4.4/4.5中,QString默认编码为latin-1,
因此直接使用中文string会出现乱码,通过设置TextCodec可以改变。
假设源文件使用utf-8编码,所有QString,tr都使用utf-8编码,在main.cpp
int main(int argc, char *argv[])
{
CDownApplication app(argc, argv);
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
现在可以直接使用中文字符串,以及在tr中使用中文.
也可以QTextCodec::codecForLocal来设置Codec,不过在Mac/Linux/Windows上
产生的codec并不一致。
所以为了一致,使用UTF-8最佳。
Comments
Leave a Reply