Electron 中文乱码问题

2022年8月14日

解决办法

这就是一个编码问题,我们需要用到chcp指令来解决这个问题。它是一个计算机指令,能够显示或设置活动代码页(即字符集编码)的编号,可以通过它来设置当前程序的字符集编码。
打开 cmd.exe,执行指令:chcp,即可查看当前的字符集编码,一般会显示 936

但是一般网页用的编码是 UTF-8,活动页代码编号为 65001,因此要把它改过来。进入项目所在目录,输入指令chcp 65001修改编码号,然后运行。这样就没有乱码了。

1
2
3
4
chcp 65001

npm start

但是这样下一次运行的时候还是得输入chcp 65001指令,再次修改字符集编码,否则还是会乱码。所以我们可以在程序中修改,使他在运行程序之前将字符集编码修改为 65001,在package.json中修改代码:

1
2
3
4
5
"scripts": {
"start": "chcp 65001 && electron ."
},


再次运行后,中文乱码解决。

1
2
npm start

可能遇到的问题

chcp 不是内部或外部命令

这是由于没有配置 chcp 的环境变量。
执行 chcp 命令实际上是,将环境变量的 path 变量中配置的每一个目录下依次查找一个叫做 chcp 的可执行文件,如果每个目录下都找不到,就会报错;如果找到了则执行这个文件。同样,node、npm 等命令同理。
chcp 可执行文件一般在 C:\Windows\System32 目录下,可以打开这个目录搜索一下 chcp,确定它在这里面,然后将这个目录配置到环境变量的系统变量的 path 中。
记得配置完之后要重新打开运行项目的程序(VSCode 或 cmd.exe,用其他开发工具的也要重启一下开发工具)。


© Mint Forge. All Rights Reserved.