在使用Qt Creator写代码时,发现如果源代码里有中文时,会提示如下警告:
main.cpp : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
main.cpp(7) : error C2001: 常量中有换行符
main.cpp(8) : error C2144: 语法错误:“QFile”的前面应有“;”
代码很简单:
int main() { QString str = "吗"; return 0; }
Qt creator 中的文件编码使用的是无bom的utf8。
如果使用带BOM的utf8或者gbk等格式,则不会出现该问题。
但是要想程序能支持中文,又必须得使用utf8的。很纠结。
Qt版本使用的是5.0.2
该问题该怎么解决?为什么utf8格式的源代码显示没问题,编译却不行呢?
这个问题我遇到过,从其他地方复制有格式的代码或者打开已有的不是utf8格式的代码时就可能这样。
我的解决:只复制文本。(如先把代码复制到记事本,再从记事本复制到QtCreator)
同样的问题,就是因为我用了中文注释!
有没有什么办法可以忽略这个警告呢?
#pragmawarning(disable:4819)
在文件中加这个貌似不行!!!
期待高手解决方案!!
同样的问题,就是因为我用了中文注释!
有没有什么办法可以忽略这个警告呢?
#pragmawarning(disable:4819)
在文件中加这个貌似不行!!!
期待高手解决方案!!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。