QT使用tr()函数处理中文,编译报错或者乱码的问题 |
您所在的位置:网站首页 › qt编译报错乱码 › QT使用tr()函数处理中文,编译报错或者乱码的问题 |
1.tr()函数处理中文,编译报错 当cpp文件使用的是utf-8 无签名的编码格式时,QObject::tr()函数在处理中文的时候会报错。 原因是:VS的Cl编译器是无法识别utf-8无签名的格式,会把它当成ANSI来读取解析编译。所以解析可能出 问题,导致编译错误。 解决办法:在vs的文件----高级保存选项中,选择Unicode (UTF-8 带签名)格式保存,更改文件编码格式 2.tr()函数处理中文,显示乱码 当cpp文件使用的是utf-8 带签名的编码格式时,QObject::tr()函数在处理中文的时候会显示乱码。 其实如果使用其他的像QStringliteral,或者fromLocal8Bit等等接口处理中文,都不会有乱码。但是因为涉及到多语言的翻译,必须要使用到tr()函数,所以必须要解决这个问题。(但其实可以避免这个问题:你在tr()函数中处理英文,然后再去翻译英文为中文,就避开了这个问题) 解决办法:就是在cpp添加: #pragma execution_character_set(“utf-8”) |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |