VSCode终端中文乱码问题解决
问题描述
最近在VSCode的集成终端中使用PowerShell时,发现中文字符显示为乱码,这严重影响了开发体验,特别是在查看输出时。
问题原因
VSCode的集成终端默认使用系统PowerShell,而Windows PowerShell默认使用GBK编码,但VSCode大多使用UTF-8编码,这就导致了编码不匹配的问题。
解决方案
修改PowerShell配置文件
原理:PowerShell配置文件($PROFILE)是PowerShell的启动脚本,每次启动PowerShell时都会自动执行这个文件中的命令。通过在配置文件中设置编码相关命令,可以实现全局生效的编码配置。
- 找到配置文件位置
powershell
$PROFILE
# 输出:C:\Users\用户名\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
- 创建配置文件
powershell
New-Item -Path $PROFILE -Type File -Force
- 添加编码设置
powershell
Add-Content -Path $PROFILE -Value @"
# 设置UTF-8编码
chcp 65001
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
[Console]::InputEncoding = [System.Text.Encoding]::UTF8
"@
- 重启VSCode终端 关闭VSCode,重新打开,或者重启集成终端。
验证效果
重启VSCode终端后,运行:
powershell
echo "测试中文显示:微博验证接口已更新"
如果正常显示中文,说明问题已解决。
总结
最简单的解决方案是修改PowerShell配置文件,添加UTF-8编码设置。这样所有使用PowerShell的地方都会自动应用这个设置,包括VSCode的集成终端。