操作系统字符集、乱码问题

解决vscode控制台中文乱码问题 - 无风听海 - 博客园 (cnblogs.com)

问题概述

操作系统使用的windows 11,语言是英文版;使用visual studio code的terminal编译程序,输出的中文是乱码;

visual studio code的terminal

visual sutdio code中的terminal可以集成cmd.exe或者power shell等;我这里选择的是cmd.exe,既然输出中文乱码,那么肯定跟cmd.exe的编码有关系;

查看当前控制台程序的编码格式

1
2
D:\learn\.NET6\WebAPI\BookStoreApi>chcp
Active code page: 437

以下是几种常用的编码:
936 GBK(一般情况下为默认编码)
437 美国英语
65001 utf-8

设置CMD窗口编码格式为UTF-8:

1
2
D:\learn\.NET6\WebAPI\BookStoreApi>chcp 65001
Active code page: 65001

这个修改只对当前窗口会话有效;

全局修改方式

Win + R输入intl.cpl命令,在弹出的框体中选择Administrative标签,然后选择change system local,然后选中最下方的复选框 Beta:Use Unicode UTF-8 for worldwide language support,然后重启操作系统即可。