解决办法
这就是一个编码问题,我们需要用到chcp
指令来解决这个问题。它是一个计算机指令,能够显示或设置活动代码页(即字符集编码)的编号,可以通过它来设置当前程序的字符集编码。
打开cmd.exe,执行指令:chcp
,即可查看当前的字符集编码,一般会显示936
但是一般网页用的编码是UTF-8,活动页代码编号为65001,因此要把它改过来。进入项目所在目录,输入指令chcp 65001
修改编码号,然后运行。这样就没有乱码了。
chcp 65001
npm start
但是这样下一次运行的时候还是得输入chcp 65001
指令,再次修改字符集编码,否则还是会乱码。所以我们可以在程序中修改,使他在运行程序之前将字符集编码修改为65001,在package.json
中修改代码:
"scripts": {
"start": "chcp 65001 && electron ."
},
再次运行后,中文乱码解决。
npm start
可能遇到的问题
chcp不是内部或外部命令
这是由于没有配置chcp的环境变量。
执行chcp命令实际上是,将环境变量的path变量中配置的每一个目录下依次查找一个叫做chcp的可执行文件,如果每个目录下都找不到,就会报错;如果找到了则执行这个文件。同样,node、npm等命令同理。
chcp可执行文件一般在C:\Windows\System32目录下,可以打开这个目录搜索一下chcp,确定它在这里面,然后将这个目录配置到环境变量的系统变量的path中。
记得配置完之后要重新打开运行项目的程序(VSCode或cmd.exe,用其他开发工具的也要重启一下开发工具)。