- QT默认源码编码为不带
BOM
的UTF-8
- vc编译器支持带
BOM
的UTF-8
编码的源码,如果编码为不带BOM
的UTF-8
,且编码含有中文,编译时会有C4819警告,甚至导致编译或者运行出现错误。 - 对于QT文件编码选项:
QT文件编码选项 如果选择“如果编码是UTF-8则添加”,实际上,创建项目时,默认编码仍是无BOM
的UTF-8
,只有当源码中包含汉字时,文件才会添加BOM
。另外注意默认编码的设置实际上只是用于qtcreator读取源码程序,使用qtcreator创建文件时默认编码仍然会是UTF-8。 - 对于QT的Project文件(*.pro)仅支持无
BOM
的UTF-8
编码,qmake并不支持其他编码的pro文件 - 对于gcc来讲,据说高于4.4.0的支持带BOM的UTF编码,测试4.1.1(RHEL5.0)存在编译不通过。因此对于ARM程序来讲,仍然推荐UTF-8编码。
综上
- 开发上位机程序,用于win或者linux(gcc版本大于4.4.0),使用带BOM的UTF-8
- 其他,推荐不带BOM的UTF-8
网友评论