[QT]从文件读入中文字符

原创 2015年02月25日 16:59:00

QT自身默认编码位UTF-8,非UTF-8编码的字符会不正常显示。一般windows系统上存储文件都是ANSI编码,对应到中文系统即是GB2312,所以在读取时需要用到编码转换。

常用的方法一般为设置Codec,这样会让整个QT程序的默认编码改变,如果仍有部分需要用到UTF-8编码格式时,则会出现问题。

这里介绍一种简单的直接用QString自带函数从ANSI转换到UTF-8编码的方法。


QString ansiStr;	//ANSI编码字符串
QString utf8Str = QString::fromLocal8Bit(ansiStr.toLatin1().constData());	//生成UTF-8编码字符串


其原理就是先默认字符串为ANSI编码(toLatin1),再按UTF-8解析(fromLocal8Bit),这样就可以仅在需要时实现编码转换。



欢迎访问cuzn小站

QT读取TXT文件显示中文

      在XP下写入你想要的中文,注意保存的时候保存为UTF-8格式,其它格式的话就要看你的 QT了,反正我的QT只能支持UTF-8格式的了!什么GB18030,GBK、GB1232之类的,我的Q...

解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)

一、Qt环境设置 Qt Creator,菜单->工具->选项->文本编辑器->行为->文件编码: 默认编码:System(简体中文windows系统默认指的是GBK编码,即下拉框选项里的GBK/win...

在QT5中读取中文文本文件的示例代码

测试环境: [1]QT5.4 [2]VS2013Update3 [3]Windows7-64bits 下面的代码段演示了如何把文件内容写到data:QString对象里去。 QFile file(...

qt5解决读取中文文件中文的乱码

QFile file("xxxx.txt"); QTextStream stream(file,QIODevice::ReadOnly); stream.setCodeC( QTextCodec:...

qt中文乱码问题

以下是dbzhang关于qt中文乱码问题原因的阐述,觉得不错:   首先呢,声明一下,QString 是不存在中文支持问题的,很多人遇到问题,并不是本身 QString 的问题,而是没有将自己希望...

QT读取TXT文件显示中文

在XP下写入你想要的中文,注意保存的时候保存为UTF-8格式,其它格式的话就要看你的 QT了,反正我的QT只能支持UTF-8格式的了!什么GB18030,GBK、GB1232之类的,我的QT都没有办...

qt读取txt文件 ,解决汉字乱码问题

//qt读取txt文件,解决汉字乱码 int main(int argc, char *argv[]) { QApplication a(argc, argv); QFile file...

QT读取中文文件

QT读取中文文件    虽然C++标准中有了文件读取的相关类,也很好用,但是在涉及到QT编程的时候却用起来不方便了,因为QT本身很多组件都是关联的自身的QString类型的字符串,所以再用C++...

Qt中文|qt5解决读取中文文件中文的乱码

http://blog.csdn.net/songshu1007/article/details/42557371 QFile file("xxxx.txt"); QTextStream strea...

Qt读取中文路径文件

有些函数要求输入文件名类型为char*,而在Qt中通常使用QString来保存路径名。这时候需要将QString转换为char*。转换的方法有几种,但是并都支持中文的转换。要想实现对中文路径的转换,见...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[QT]从文件读入中文字符
举报原因:
原因补充:

(最多只允许输入30个字)