不废话,我是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();