Qt5中文乱码问题解决记录
问题
对于很多Qt5初次使用的用户来说应该都遇到过打出来的中文在窗口中显示一堆乱码。若有遇到同样问题的朋友希望本次记录能对你们有所帮助。(此次使用Qt版本为5.9.3)
解决方法
1、百度很多都是说用QTextCodec设置,是的,之前用4.7.4版本是可以这样解决。但是在Qt5里,QTextCodec不管是设置“GBK”、“UTF8”好像并没有卵用。当然,也可能是我的打开方式不对,如果有成功的朋友也可以互相分享一下。
2、在头文件申明中加上 #pragma execution_character_set(“utf-8”) ,你们能不能成功解决我是不知道了,反正我是收到了凉凉的祝福。
3、每次使用汉语时前面加入QString::fromLocal8Bit。对于我这种懒人来说这方法不适合我,是我认为最下乘的方法所以我直接就没去试,如果有试过的朋友可以留言告诉一下结果。
最后忘了在哪里看到了说是编码的问题,是的,就是最简单的编码问题。Qt5默认的编码是unicode,不支持显示中文。使用fromLocal8Bit()函数,实现了从本地字符集GB到Unicode的转换,用于处理汉语显示乱码等问题。其根本也是改变了编码,所以最后将有中文的.cpp文件的编码格式换成UTF8保存后就成功显示中文了。
方法:选中目标cpp,点击编辑->Select Encoding -> UTF-8 -> 按编码保存 ->按编码载入。
本次记录只是为了能够对有遇到同样问题的朋友有所帮助,看到有错的地方可以指出。本人新手一个,大佬请手下留情。