Qt读取文本文件乱码怎么办
在Qt中,对文本文件的操作进行了大幅简化。相比C++较为复杂的文件操作,Qt几乎只酋篚靶高需一两行代码便可完成相应的功能。不过,不少新学Qt朋友可能都曾碰到过这样的情况:如果文本文件仅含有英文和数字,读取的文本显示正常;但是,要是文本中含有中文,显示时就会出现乱码。那么,究竟是什么原因导致Qt读取文件时出现乱码,出现了乱码又该如何处理呢?
工具/原料
Qt
一、乱码原因
1、在默认情况下,Qt 以 Unicode 格式处理文本字符,因此,字符本身是不会有问题的。之所以出现乱码,原因在于 Qt 不知道将 Unicode 字符以何种方式显示出来。

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

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

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