Linux下用QtCreater写QT程序处理中文的乱码问题解决方案

好久没有接触Qt了,上次还是在本科的时候作毕业设计了。我想强烈推荐的Qt的IDE是QtCreator,因为其中居然有一个FakeVIM的东西,也就是他的编辑器能够变成一个类似于VIM的东西。在我的编程过程中,有很多时候这个还是会错误,出现命令不好使的情况,只能重启来解决。但是总的来说,非常的方便。

问题:系统编码是UTF-8,文件编码是UTF-8,然后QtCreator文件编码是UTF-8,语言是系统语言。我在里面用filestream读取文件的时候出现了乱码,但是打印出来却又不是乱码。也就是说,内部编码其实是乱码的。我解决了很久都没有找到解决方案,今天有人问我关于JAVA乱码的问题,突然想起来JAVA里面在读取文件流的时候可以指定文件的编码的。于是我在想,是否是因为QtCreator的编码并不是UTF-8的,然后用C++中的filestream读取的文件编码是和QtCreator编码一样的,也就是根本不是UTF-8的。

 

解决方案:不要用C++标准的filestream来操作文件,而是采用Qt自带的QTextStream来操作。哈哈,可以看到这个类和JAVA的是一样的,也是可以设置读取的编码,只要设置为文件的编码就行了。

 

Good Luck.

你可能感兴趣的:(java,编程,linux,vim,语言,qt)