QT解决中文编译不通过问题
原文地址:https://www.cnblogs.com/blog-ccs/p/7443756.html
一、环境配置
win10 64位系统、VS2013环境、QT5.6.2版本、QT Creator软件
我使用QT Creator进行程序的编译运行。
二、问题提出
我在使用QT Creator进行程序编译运行时,如果字符串的类型是英文则没有问题,但是如果是中文,则会报 C2001:常量中有换行符 的错误。
三、错误原因
(1)在QT中,默认的编码是Unicode,我们书写的代码文件被强制转换为utf8,但是,在简体中文版的Windows操作系统中,默认编码却是GBK。
(2)因此,在QT编译程序时,如果代码含有特定中文字符,QT的编译器就会发生误判,向我们报告错误"常量中有字符串"。
(3)当然,如果你使用别的一些中文字符,恰巧该字符编码不含这些特定字符,则编译时不会报错,但是程序运行时中文字符却往往不能正常显示。
四、解决方法
1、折中的解决方法:更改设置或调整代码,避免编译错误
(1)更改设置
打开QT Creator,店家菜单栏“工具” 》》“选项”
在“文本编辑器”》》“行为”选项卡中,将文件编码更改为“UTF-8”,并且选择“如果编码是UTF-8则添加”
(2)代码调整
或者,在代码中用QString.toLocal8Bit( ) 将 Unicode 编码转换为本地系统编码
2、推荐的解决方法:将本地编译转换为Unicode交由QT处理
(1)使用以上方法之后,虽然编译时将不会报“常量中有换行符”错误,但不能保证中文字符能正确显示。
(2)若想字符得以正常显示,则可以使用 QString::fromLocal8Bit 来将本地字符编码转换为 Unicode 形式的 QString。毕竟,在这个越来越全球化的时代,Unicode 才是王道。
QT解决中文编译不通过问题相关推荐
- qt 解决中文乱码问题
将以下代码放在main里面最开始的地方 //解决中文乱码的问题 QTextCodec *codc = QTextCodec::codecForName("GB2312"); QTe ...
- QT MSVC中文编译出错error: C2001: 常量中有换行符
Qt error: C2001: 常量中有换行符 QT上用MSVC去编译部分含有中文的字符串时会出现编译错误error: C2001: 常量中有换行符 解决方法: 1.设置是工具->选项-> ...
- Qt解决中文显示乱码问题
我相信所有用过Qt都遇到过中文乱码问题.下面列出了我经常用的几种解决方法. 方法一 #include "QtUtf8.h" #include <QTextCodec> ...
- Qt 解决MySQL 中文乱码问题
文章目录 Qt 解决MySQL 中文乱码问题 解决此问题的必要前提就是: 1.版本要匹配. 2.数据库连接正常,需要重新编译Qt 自带的源程序中的mysql.pro 工程项目: 3.数据库的编码格式与 ...
- [转]QT中QString与string的转化,解决中文乱码问题
[转]QT中QString与string的转化,解决中文乱码问题 参考文章: (1)[转]QT中QString与string的转化,解决中文乱码问题 (2)https://www.cnblogs.co ...
- QT中中文乱码的解决
2019独角兽企业重金招聘Python工程师标准>>> QT中中文乱码的解决: #include <QtGui/QApplication> #include <QT ...
- [转载]Qt之解决中文乱码
博主很给力 原文地址:Qt之解决中文乱码作者:一去二三里 在项目开发的过程中,中文乱码是比较常见的问题!用Qt开发也不例外,之前在做界面的时候没有发现什么问题,但是在程序移植的过程中问题出现了! 在W ...
- [转载]Qt之解决中文乱码_vortex_新浪博客
博主很给力 原文地址:Qt之解决中文乱码作者:一去二三里 在项目开发的过程中,中文乱码是比较常见的问题!用Qt开发也不例外,之前在做界面的时候没有发现什么问题,但是在程序移植的过程中问题出现了! 在W ...
- 解决editplus编译出现中文乱码
很多人的方法是命令那里改成javac -encoding utf8,但是我改了之后只要输入中文编译就有乱码,注释带中文也会乱码,像这样 找了好久的解决办法,终于在https://aledsan.blo ...
最新文章
- 爬虫(beautifulSoup)
- 洛谷 - P4062 [Code+#1]Yazid 的新生舞会(推公式+线段树)
- C++primer 第 3 章 字符串、向量和数组 3 . 5 数组
- Console-算法[for]-国王与老人的六十四格
- jquery ajax 异步分页,jquery 分页 Ajax异步
- 1 操作系统第一章 操作系统概念、功能、四大特征、操作系统发展与分类
- 坚持早起21天,每月躺赚5000元!
- 自己封装的ASP.NET的SQLITE数据库的操作类
- Linux完全卸载mysql的方式
- mysql 校对规则名_MySQL字符集及校对规则的理解
- 有哪些写项目策划书注意事项
- 中文现代诗歌创作项目
- js科学计算机,js网页在线科学计算器代码
- 【题解】洛谷P1661扩散(同LibreOJ10015) 曼哈顿距离最小生成树
- 头歌-自己动手画CPU(第六关)-MIPS RAM设计-Logisim
- LaTeX的正负号写法
- biblatex中参考文献期刊名缩写的实现
- shell命令之cd切换目录
- xxl-job搭建、部署、SpringBoot集成xxl-job
- Unity3D 飞碟游戏改进版