编译出来有很多 字符在当前源字符集中无效
但是编译可以通过。请问怎么解决吗? https://answers.unrealengine.com/questions/687563/have-you-ever-met-warning-c4828.html Remove all chararacters in your code as "áàâäãéèêëí,..." in comments too and your warning will vanish.这句话何解? 就是说文件里最好只有英文 ASCII 字符,不要有汉字的意思。
因为 cpp 和 hpp 文件都是文本文件,编译器没办法预知它是什么编码的,只能猜测一个,猜错了就会报这类错误。
不光是编译器,所有处理文本的工具链都有这个问题,包括 git 这类版本管理工具等。
推荐的方法是
1) 如果你团队的英文都很好,那就全都用英语
2) 如果喜欢用中文(或任何其它非英语语言,比如德语、法语、阿拉伯语等),就用英文的 Windows 系统,代码文件用 utf-8 编码(Visual Studio 可以在 File -> Advanced Save Option 下的 Encode 设置为 utf-8 / 65001)。
为了永久避免编码问题,强烈推荐英文 Windows + utf-8 编码组合
用英文 Windows 的优点是,你写的中文程序,如果有编码问题,马上就能看出来,也就很快修正了。显示正常后,在任何 Windows 上都能正确显示中文(有字体的情况下)
不会出现中文 Windows 上显示正常,英文或者韩文 Windows 上显示乱码的现象。
页:
[1]