问题及原因
问题原因:代码文件的字符编码格式为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 。因为每次都是系统默认帮我们执行,所以我们就认为他是永久 修改啦~
|