解决“warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失”的问题
最近在编译dart-sdk里的boringssl时遇到以下错误 warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 之前是靠把所有几十个源文件全部手动从ansi改为Unicode的撒币方法,虽然有效,但是太麻烦,还破坏了git代码版本,非常糟糕 几分钟前百度搜索“修改 cl.exe 默认使用utf8”时,垃圾百度显示的都是毫无关系的东西,简直令人想拿刀把李彦宏扌甬死,不过他也算干了件好事,如果没有把杂七杂八的没啥关系的搜索结果列出来,特别是把百度经验“ win10 设置系统默认编码为utf-8 ”这个自家东西排到第一名位置,我也就想不到试试这个方法了。 经过试验,把win10 设置系统默认编码为utf-8之后,就不报错了。真是皆大欢喜。 随便推测了下,VS的这个编译器可能应该或许是从系统设置里获取了默认的编码,系统原来是gbk(CP936),改成utf8后,编译器就自动从936改成utf8的方式来默认处理代码了。 鉴于百度谷歌上都搜不到我这方法(至少两三页内没看到),我便在这里分享给大家,希望能帮大家解决问题。 又去看了下,该百度经验提示: win10系统支持默认编码修改.。 好处: 解决由utf8引起的cmd,powershell等乱码问题 Visual Studio 2017(其他版本没试过)