posts - 319, comments - 22, trackbacks - 0, articles - 11
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

关于使用lupdate 生成的ts文件中文乱码的问题

Posted on 2011-04-05 11:06 RTY 阅读(3242) 评论(0)  编辑 收藏 引用 所属分类: Qt
第一、出现此问题需要下面条件:
1. 文本编码使用GB2312(源代码的文件编码格式)
2. 使用tr() 函数,加入开发人员注释
     如:
 this->setWindowTitle(tr("MyTestWindows","中文注释"));
3. pro文件使用默认设置
    无“CODECFORTR= ” 项

第二、参考官方文档的说明:
If your sources contain genuine non-Latin1 strings, lupdate needs to be told about it in the .pro file by using, for example, the following line:
CODECFORTR = UTF-8

其实,这种要求经过测试,发现是要求你的源代码文件编码格式必须是UTF-8
那么如何更合理的描述这个问题的最终解决办法呢?

第三、源文件编码格式和pro文件中的CODECFORTR = 编码格式要保持一致

也就是说,如果的你源文件编码全是GB2312的,那么就需要在Pro文件中加入以下这一项:
CODECFORTR = GB2312

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理