char * ===>QString时需告知char*的编码方式
QString默认以unicode编码,可以用以下方式更改:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
//设置QString默认编码为UTF-8
转化前还需告知char*使用何种编码:
//不告知,默认选择Latin-1
QString str(const char * str);
//指定
QString QString::fromAscii (const char * str);
QString QString::fromLatin1 (const char * str) ;
QString QString::fromLocal8Bit (const char * str);
QString QString::fromUtf8 (const char * str);
//使用QTextCodec转化
QString QTextCodec::toUnicode (const char * chars) const;
P.S. 字符串字面值编码始终是本地编码,与源代码文件的编码无关。编译时会把在.cpp中的编码转换为本地编码。