近日将整个项目的源码格式从GB2312转成了UTF8(无BOM)的格式,在QtCreator中编译时出现了著名的C4819警告:该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失。
虽然程序不影响,但大片的warning夹杂在其他有用的编译消息中却非常碍事,故决定搜索解决方案。
网上可以搜到大量的文章,但写的都一样,都是设置VC的项目属性,或者修改文件保存格式;或者在源代码中插入#pragma指令,又或者是替换文件的换行符之类的方法,但对于我来说都不适用,原因有: