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

第一、出现此问题需要下面条件:
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

你可能感兴趣的:(关于使用lupdate 生成的ts文件中文乱码的问题)