Qt读取文本文件乱码怎么办
1、在默认情况下,Qt 以 Unicode 格式处理文本字符,因此,字符本身是不会有问题的。之所以出现乱码,原因在于 Qt 不知道将 Unicode 字符以何种方式显示出来。

2、打个比方说,如果采用两个字节来保存一个汉字,但显示时却按一个字节一个字节的方式,出现乱码也就是理所当然的事了。

1、知道了原因,解决起来也就有了方向。为了避免乱码,首选我们需要做的是在程序中指定文本编码类型。例如,如果我们的文本文件含有简体中文,就指定为GBK。

2、接着,再按常规方法进行文件打开操作。

3、然后,像往常一样逐行读取文本数据。在这儿提醒大家注意,使用逐行读取的方法,虽然读取速度略慢,但是程序运行时所需要的内存比较少,特别是当文件数据量很大时尤为如此。若是采用一次性读取的方法,在读取大文件时会内存爆增。

4、下面,就到了关键的一步,将读取到的行数据转换为Unicode格式。注意,由于我们之前已经指定了GBK,所以这时文本将不会再显示为乱码。

5、下面是经过更改后的程序运行截图。可以看到,完美地读出了中文字符!

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:187
阅读量:194
阅读量:96
阅读量:75
阅读量:45