Electron 的中文乱码问题

解决办法

这就是一个编码问题,我们需要用到chcp指令来解决这个问题。它是一个计算机指令,能够显示或设置活动代码页(即字符集编码)的编号,可以通过它来设置当前程序的字符集编码。
打开cmd.exe,执行指令:chcp,即可查看当前的字符集编码,一般会显示936
在这里插入图片描述
但是一般网页用的编码是UTF-8,活动页代码编号为65001,因此要把它改过来。进入项目所在目录,输入指令chcp 65001修改编码号,然后运行。这样就没有乱码了。

chcp 65001

npm start

image-20210223161548530

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

 "scripts": {
    "start": "chcp 65001 && electron ."
  },

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

npm start

image-20210223161703085

可能遇到的问题

chcp不是内部或外部命令

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

原文地址:https://www.cnblogs.com/makalochen/p/14436673.html