问题及原因
问题原因:代码文件的字符编码格式为
UTF-8
,但是
terminal
的字符编码格式为
GBK
。
解决思路:统一代码文件和
terminal
的字符编码格式。
解决办法
说明:以下的解决方案是针对上述原因“代码文件的字符编码格式为
UTF-8
,但是
terminal
的字符编码格式为
GBK
”给出的,如果是其他情况需要自己稍作修改。
方法一
这个方法是修改代码文件的字符编码格式。
然后运行:
方法二:chcp
这个方法是临时修改
terminal
的字符编码格式。
修改格式如下:
其中:
65001
代表
UTF-8
,
936
代表
GBK
。
然后运行:
Tips
在
vscode
里面,如果想把
GBK
编码格式的文件转换成
UTF-8
编码格式的文件,可以在
vscode
里面安装
GBK to UTF8 for vscode
插件。
右击需要转换编码格式的文件,然后点击
Convert encoding to UTF8
即可。
方法三
在方法二的基础上,我们能否永久修改
terminal
的字符编码格式呢?答案是肯定的。
在我电脑上,
vscode
调用的是我的
PowerShell
,所以我只需要修改我本地
PowerShell
的字符编码格式即可。
Step1:
以管理员身份运行
powershell
并执行
New-Item $PROFILE -ItemType File -Force
Step2:
此时你的电脑会多出一个空文件
C:\Users\xxx\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
,往里面写入
$OutputEncoding=[console]::InputEncoding =[console]::OutputEncoding = New-Object System.Text.UTF8Encoding
Step3:
执行
Set-ExecutionPolicy Unrestricted
,输入
y
即可。
Step4:
输入
chcp
,检查以下,我们发现
powershell
的默认字符编码格式已成功修改为
UTF-8
。
然后运行:
补充:
如果需要永久修改
cmd
的字符编码格式为
UTF-8
,首先
win+r
输入
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
回车,然后新建一个字符串值。
这样子在每次打开
cmd
的时候,系统都会默认先执行一句
chcp 65001
将
cmd
的字符编码格式修改为
UTF-8
。因为每次都是系统默认帮我们执行,所以我们就认为他是
永久
修改啦~
版权归原作者 im34v 所有, 如有侵权,请联系我们删除。