QT 5 中文乱码是硬伤

weixin_38053335 2019-09-19 12:09:12
之前QT4还可以通过QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));    QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));解决中文乱码问题,但是QT5却对以上函数中的两个已经不支持。很多人说可以用宏:QStringLiteral("中文")或者QString::fromLocal8Bit(“中文”)都没法解决问题。有时奇数个中文报语法错误,有时偶数个中文报语法错误。 error C2001: 常量中有换行符有没有彻底的解决办法?QT5这么还不如QT4用着顺手呢?
...全文
8 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38059644 2019-09-19
  • 打赏
  • 举报
回复
Qt就是不想让乱用QTextCodec这几个函数,下了狠招,干脆就取消,中文乱码不能怪qt,主要是VS比较贱,而且可以说故意留下的BUG(想不明白这的多少年,都不彻底解决,只能说故意的了),明白这的就清楚了问题一个从VS下手而不是Qt,我是用VS2013,其它版本也类似,但也不太一样,基本上要升级up1之类的VS2013算支持比较好的 1.源代码必须UTF-8(这也是问题关键)2.代码中加入复制代码#if defined(_MSC_VER) && (_MSC_VER >= 1600)#pragma execution_character_set("utf-8")#endif 其它版本,搜索Google:VSxxxx UTF-8 中文
weixin_38103419 2019-09-19
  • 打赏
  • 举报
回复
中文没问题,是楼主处理不好

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧