VS2017编译时,输出窗口中文显示乱码
异常描述
1)今天不知道是什么原因,我自己的vs2017的开发环境编译项目时,在输出窗口都是乱码,在生成事件
1>------ 已启动全部重新生成: 项目: TestHook, 配置: Debug Any CPU ------
1> 'setlocal' ????????????????????????е????
1> ?????????????
1> ????????????·????
1> TestHook -> E:\_Del\哈哈\TestHook\TestHook\bin\Debug\TestHook.exe
1> 'setlocal' ????????????????????????е????
1> ?????????????
========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0 个 ==========
2) 生成后事件中如下代码:
mkdir "$(SolutionDir)aa开发测试aa\$(ConfigurationName)\Poll"
在上面的项目路径中有中文,而且创建的文件夹也含中文,所以导致创建的文件夹也含乱码,也就是出现中文的都是乱码,路径如下:
E:\_Del\鍝堝搱\TestHook\aa寮€鍙戞祴璇昦a\Debug
3)打开之前保存的txt文件,其中中文部分也显示乱码。
解决方法
1)重置vs配置:devenv /ResetSettings
2)版本升级,从15.9.17-->15.9.45
3)修改系统cmd命令行和powershell,改变格式:chcp 936,或者65001
4)直接在生成事件中使用chcp修改字符集 参考: https://blog.csdn.net/rhddlr/article/details/109771891
以上方法都未解决实际乱码的问题。
当我知道所有txt文件也都是乱码的时候,才想起来按这个问题搜索答案,可以参考我的另外一篇文章:
就是直接点击“开始”-->“控制面板”-->“时钟、语言和区域”-->“区域和语言”-->“管理”-->“非Unicode程序的语言”-->“更改系统区域设置”,如下图:
我的情况是不知道什么时候,勾选了“Beta版:使用Unicode UTF-8 提供全球语言支持(U)”,然后把前面的勾取掉,重启系统,txt和编译之前的项目都没有问题了。