1. 背景
在打包前端代码的时候,看到系统控制台中竟然出现了乱码。想到之前就曾经出现过因为影响不大就一直放着没管。今天有空就把问题解决掉吧。
2. 解决过程
2.1 问题定位
在命令行中执行 chcp
,看到返回结果如下
shell
Active code page: 936
936
代表的是简体中文 GBK 编码。一般认为使用 utf-8
编码通用性更强,更不易出现乱码。尝试将编码修改成 utf-8
,修改方法就是在命令行中执行
shell
chcp 65001
65001
代表 utf-8
编码。然后复现问题,发现问题解决了,说明问题定位正确,接下来就是要长期解决这个问题。
2.2 长期解决
使用 chcp 65001
命令只能在当前 CMD 窗口生效,每次打开一个 CMD 窗口都要执行一次,这一定不是长久之计。网上有很多相关的文档,但是有些在 Win11 系统中不能使用。我使用的方法如下
- 打开 windows 的设置 - 时间和语言 - 管理语言设置 - 管理
- 打开 更改系统区域设置
- 勾选
Beta版:使用Unicode UTF-8 提供全球语言支持
- 点击确定
2.3 验证
新打开一个 CMD 窗口,执行 chcp
看到如下结果就成功了。
shell
Active code page: 65001
重新用命令打包前端代码,不再有乱码。