|
我们公司开发需要跨平台,所以用这套方法解决跨平台乱码。亲测有效。
解决qt中文乱码:
1.在main函数中添加“QTextCodec::setCodecForLocale(QTextCodec::codecForName("utf-8"));”代码,并添加 #include <QTextCodec> 头文件。
2.使用QStringLiteral宏。使用QStringLiteral来修饰中文字符串即可。它可以直接生成Unicode字符串保存在可执行文件中的只读区域。这样运行时不会发生任何转换。可以显著提高程序运行效率。
3.使用文本编辑器以“utf-8”的编码格式打开代码文件,并保存,从而使代码文件的编码格式为utf-8格式。
代码如下:
#include <QCoreApplication>
#include <QDebug>
#include <QTextCodec> // for 中文显示
int main(int argc, char *argv[])
{
QTextCodec::setCodecForLocale(QTextCodec::codecForName("utf-8")); // 显示中文 便于跨平台 utf-8字符
QCoreApplication a(argc, argv);
qDebug() << QStringLiteral("中文");
qDebug() << str_ascii;
return a.exec();
} |
|