找回密码
 立即注册
收起左侧

中文编码-linux/XP/Win7等相关

1
回复
7477
查看
[复制链接]

尚未签到

来源: 原创 2013-5-22 21:59:58 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
昨天偶尔到客户现场,发现一个以前的QT项目的一个问题:
调度程序在现场设备上(linux内核裁剪)和管理机器(WinXP系统)上运行都没有问题,用我随身带的笔记本(Win7)运行时出现问题:一些场景的中文变为乱码,一些场景的中文则显示正常。

回来后检查代码后确定了几个方面:
1、代码中使用GBK编码-最初约定,涉及多方面;
2、本地化方面有一些问题--部分地方存在tr内有中文的现象,这些地方无论是否翻译(lupdate 和lrelease)在win7下都是乱码;用英文经过本地化翻译的地方则没有问题;(这点也是个提醒)
3、一些从网络或文件中接收读取到的中文内容在win7下显示乱码(经过QString::fromLocal8Bit处理);
4、UI中的中文无论在哪个系统下均正常(UTF-8)

因为没用过win7,搞不清楚问题出在哪,开debug一检查,立马就发现:
在win7下 :
QTextCodec *codec = QTextCodec::codecForName("GBK");
结果:NULL == codec
问题出在这,用QTextCodec::codecForLocale()处理一下即可。。。
回复

使用道具 举报

累计签到:29 天
连续签到:1 天
2013-5-22 22:28:54 显示全部楼层
大哥,你发错位置了,这里是问答区。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了