问题描述
Qt代码中使用中文时编译直接报错:
报错提示:常量中有换行符;语法错误缺少”)”等。
错误原因
Qt默认编码为Unicode,写的代码被强制转换成为utf-8,简体中文操作系统的默认编码是GBK,编译时如果含有中文字符,这时候Qt会误判,提示常量中有换行符。
并不是使用所有的中文字符都会报错,在使用别的中文字符,正好编码中没有这些特定字符,这是编译可以通过,但是显示会乱码。
解决办法
首先更改QtCreator设置。
编码更改为“UTF-8”,选择“如果编码是UTF-8则添加”
将本地字符编码转换为 Unicode 形式的 QString