• 5070阅读
  • 4回复

qt5.5的中文乱码问题,如何解决? [复制链接]

上一主题 下一主题
离线yleesun
 

只看楼主 倒序阅读 楼主  发表于: 2015-10-24
之前用qt4中文乱码问题都好解决,最近用qt5.5,发现乱码问题很不好解决。
文件用utf-8格式,可以显示中文,但是有的文件中,中文个数为奇数位,就报语法错误,有的时候,中文个数为偶数报错。通过qtextcodec设置编码格式,好几个方法以及不支持,设置也没有效果。各位,有没有更好的解决办法?
离线firebolt

只看该作者 1楼 发表于: 2015-10-24
可以用ts文件来翻译中文。
离线roywillow

只看该作者 2楼 发表于: 2015-10-25
最好的解决办法就是不用中文
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线smooth_zyn

只看该作者 3楼 发表于: 2015-10-25
使用QTextStream来读取文件,这样会自动适配的
QString line;
QFile file(filename);
QTextStream stream(&file);
while(!stream.atend())
{
    line = stream.readline();//这样读取出来的中文应该就不是乱码了
}
离线yearl

只看该作者 4楼 发表于: 2015-10-26
你是指程序源文件中的中文还是程序从文本文件中读出的中文?
后者应该没问题吧?


如果是前者。
除了源文件采用utf-8编码外,还要添加BOM 。方法是:
在源文件编辑界面中任何位置右击鼠标,选最底下的insert utf-8 BOM on Save。
如果是VS2010还要打好SP1,在源文件顶部加上  #pragma execution_character_set("utf-8")


试试吧,总有一款适合你。
快速回复
限100 字节
 
上一个 下一个