VS2017编译时,输出窗口中文显示乱码

异常描述

1)今天不知道是什么原因,我自己的vs2017的开发环境编译项目时,在输出窗口都是乱码,在生成事件

1>------ 已启动全部重新生成: 项目: TestHook, 配置: Debug Any CPU ------
1>  'setlocal' �����ڲ����ⲿ���Ҳ���ǿ����еij���
1>  ���������ļ���
1>  ϵͳ�Ҳ���ָ����·����
1>  TestHook -> E:\_Del\哈哈\TestHook\TestHook\bin\Debug\TestHook.exe
1>  'setlocal' �����ڲ����ⲿ���Ҳ���ǿ����еij���
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和编译之前的项目都没有问题了。

posted on 2022-04-06 18:24  jack_Meng  阅读(1080)  评论(0编辑  收藏  举报

导航