QT5.2(不限于5.2)中文显示、输出、读取乱码解决方式
2018-01-23 21:24
375 查看
不废话,我是yx。2018.1.23
——————————————————————————————————————
环境设置:
选项-》文本编辑器-》行为-》文件编码{1.System 2.总是删除
问题:
1. 需要输入中文,编译直接报错。
2.编译通过但是显示中文的地方乱码。
方法1
#include <QTextCodec> #include<QFont>
QTextCodec *codec = QTextCodec::codecForLocale();
//设置成本地编码格式
QString title = codec->toUnicode("打开目标文件");
//此时的“打开目标文件”就不会显示乱码
方法2
#include <QFont>
setWindowTitle( QStringLiteral("客户端") );
//QStringLiteral 重点
QString strname = QStringLiteral("梅西");
quint16 intage = 29;
QString str = QStringLiteral("当世球王是%1,今年%2").arg(strname
).arg(intage );
//所有的中文都用这个宏处理 QStringLiteral(“输入的中文”)
方法3
#if _MSC_VER >= 1600
// MSVC++ 10.0 _MSC_VER = 1600 (Visual Studio 2010)
#pragma execution_character_set("UTF-8")
#endif
搞定,这个是我最近才找到的方法,也是最方便的
VS版本参考:: http://blog.csdn.net/wowolook/article/details/17219019
3.win下读取txt文件的中文,读入是乱码
方法:
QTextStream in(&file);
in.setCodec("UTF-8"); //重点
QString temp = in.readAll();
4win下写入txt文件的中文,打开时中文乱码
方法:
QString buff2 = QStringLiteral("中文你好");
QTextStream out(&FileName);
out.setCodec("UTF-8"); //重点
out<<buff2;
FileName.close();
——————————————————————————————————————
环境设置:
选项-》文本编辑器-》行为-》文件编码{1.System 2.总是删除
问题:
1. 需要输入中文,编译直接报错。
2.编译通过但是显示中文的地方乱码。
方法1
#include <QTextCodec> #include<QFont>
QTextCodec *codec = QTextCodec::codecForLocale();
//设置成本地编码格式
QString title = codec->toUnicode("打开目标文件");
//此时的“打开目标文件”就不会显示乱码
方法2
#include <QFont>
setWindowTitle( QStringLiteral("客户端") );
//QStringLiteral 重点
QString strname = QStringLiteral("梅西");
quint16 intage = 29;
QString str = QStringLiteral("当世球王是%1,今年%2").arg(strname
).arg(intage );
//所有的中文都用这个宏处理 QStringLiteral(“输入的中文”)
方法3
#if _MSC_VER >= 1600
// MSVC++ 10.0 _MSC_VER = 1600 (Visual Studio 2010)
#pragma execution_character_set("UTF-8")
#endif
搞定,这个是我最近才找到的方法,也是最方便的
VS版本参考:: http://blog.csdn.net/wowolook/article/details/17219019
3.win下读取txt文件的中文,读入是乱码
方法:
QTextStream in(&file);
in.setCodec("UTF-8"); //重点
QString temp = in.readAll();
4win下写入txt文件的中文,打开时中文乱码
方法:
QString buff2 = QStringLiteral("中文你好");
QTextStream out(&FileName);
out.setCodec("UTF-8"); //重点
out<<buff2;
FileName.close();
相关文章推荐
- QT解决QSettings读取ini文件中文乱码 3ff8
- QT下中文显示乱码解决办法
- 利用#pragma execution_character_set("utf-8")解决QT中显示中文字乱码
- java中文显示乱码的解决方式
- FileStream读取中文显示乱码的解决办法
- 【Qt】]两种解决Qt5显示中文乱码的方法
- 解决MySQL客户端输出窗口显示中文乱码问题的办法
- CCS5.2 中文显示乱码问题解决方法
- JSP/Servlet页面中文显示为乱码的解决方式
- Qt中文|qt5解决读取ini文件中中文乱码
- Andriod Studio中setText输出中文在AVD中显示乱码的解决方法
- QT5中文显示乱码解决方法
- 某些开发版中的Qt Designer菜单等中文显示为乱码问题解决方法初探
- Qt中文|qt5解决读取中文文件中文的乱码
- python 读取mssql server 2005 显示中文总是乱码的解决方法
- pycharm输出中文出现乱码的几种解决方法以及读取时打印出现乱码的解决
- Java 读取ANSI文件中文乱码问题解决方式
- QT中中文显示乱码 解决方法
- PHP读取TXT中文乱码的解决方式