Qt5.2中文测试
来源:互联网 发布:C语言编程改颜色 编辑:程序博客网 时间:2024/05/29 07:57
环境:Qt5.2+QtCreator3.0+VS2010,并且VS2010安装了sp1的补丁。操作系统Windowsxp。
测试源代码:
QString s1 = "我是中文1";
qDebug()<<"s1"<<s1;
//只要字符串不需要翻译,请关注这个
QString s2 = QStringLiteral("我是中文2");
qDebug()<<"s2"<<s2;
QTextCodec *codec = QTextCodec::codecForLocale();
QString s3 = codec->toUnicode("我是中文3");
qDebug()<<"s3"<<s3;
QTextCodec *codec2 = QTextCodec::codecForName("utf-8");
QString s4 = codec2->toUnicode("我是中文4");
qDebug()<<"s4"<<s4;
QString s5 = QString::fromUtf8("我是中文5");
qDebug()<<"s5"<<s5;
QString s6 = tr("我是中文6");
qDebug()<<"s6"<<s6;
ui->label->setText(s1);
ui->label_1->setText(s2);
ui->label_2->setText(s3);
ui->label_3->setText(s4);
ui->label_4->setText(s5);
ui->label_5->setText(s6);
测试一
测试环境:
执行字符集 设置了 #pragma execution_character_set("utf-8")
源码字符集utf-8,有 BOM
测试结果:
s1 "我是中文1"
s2 "我是中文2"
s3 "鎴戞槸涓枃3"
s4 "我是中文4"
s5 "我是中文5"
s6 "我是中文6"
测试二
测试环境:
执行字符集 不设置#pragma execution_character_set("utf-8")
源码字符集utf-8,有 BOM
测试结果:
s1 "????????1"
s2 "我是中文2"
s3 "我是中文3"
s4 "????????4"
s5 "????????5"
s6 "????????6"
测试三
测试环境:
执行字符集 不设置#pragma execution_character_set("utf-8")
源码字符集utf-8,无 BOM
测试结果:
s1 "我是中文1"
s2 "鎴戞槸涓枃2"
s3 "鎴戞槸涓枃3"
s4 "我是中文4"
s5 "我是中文5"
s6 "我是中文6"
测试四
测试环境:
执行字符集 设置了#pragma execution_character_set("utf-8")
源码字符集utf-8,无 BOM
测试结果:
s1 "鎴戞槸涓枃1"
s2 "鎴戞槸涓枃2"
s3 "閹存垶妲告稉顓熸瀮3"
s4 "鎴戞槸涓枃4"
s5 "鎴戞槸涓枃5"
s6 "鎴戞槸涓枃6"
从上面的测试可以看出,在保存源代码时字符集最好是utf-8,有BOM,并且设置了执行字符集( #pragma execution_character_set("utf-8") ),这样就能比较好的支持中文了。
当然也要确保你的VS2010打了sp1的补丁,否则测试结果就都不一样了。因为没打sp1补丁的vs2010,不识别( #pragma execution_character_set("utf-8") )的设置。
补充: 上面测试一的s3还是乱码,是因为我们设置的是QTextCodec::codecForLocale();,如果改为QTextCodec::codecForName("utf-8");,则是正常显示。如下所示。
测试环境:
执行字符集 设置了 #pragma execution_character_set("utf-8")
源码字符集utf-8,有 BOM
QTextCodec *codec = QTextCodec::codecForName("utf-8");
QString s3 = codec->toUnicode("我是中文3");
qDebug()<<"s3"<<s3;
结果:
ss "我是中文ss"
- Qt5.2中文测试
- Qt5.2显示中文方法!!!
- QT5.2中文乱码解决问题
- QT5.2中文乱码解决问题
- QT5.2中文乱码解决问题
- qt5.2+VS2010(SP1) 中文乱码
- qt5.2中文显示为乱码问题
- Qt5中文乱码解决方法
- Qt5与中文
- Qt5 中文乱码
- Qt5中文乱码问题
- Qt5与中文
- Qt5中文显示问题
- Qt5中文乱码解决方法
- qt5 中文显示问题
- QT5中文乱码
- Qt5支持中文
- qt5 中文路径 支持
- S5PV210 Android Overlay系统(视频输出系统)分析
- 关于APPle开发者证书 Valid signing identity not found
- HTML DOM ——常用知识点小结
- 如何查看linux系统版本
- 《黑马程序员》基础加强---eclipse加强
- Qt5.2中文测试
- 静态方法是线程安全的
- Thumbnailator(图片压缩处理)
- android 自定义TextView支持微博功能后在ListView占用了Item点击的解决办法
- windows文件夹中$hf_mig$目录能否删除呢?
- linux shell编程指南第六章------命令执行顺序
- java中Keytool的使用总结
- sina微博队列memcacheq 服务安装与原理
- 多线程中的数据共享