1.临时解决办法(重启pw失效,以下Powershell7 简称pw):
pw终端中输入以下:
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = [System.Text.Encoding]::GetEncoding(936);
2.永久解决办法:
修改方法:
1、以管理员身份打开powershell,运行下面代码
New-Item $PROFILE -ItemType File -Force
2、 打开C盘,找到我的文档中的WindowsPowerShell文件夹
3、编辑这个ps1文件(默认是空的),加上以下代码
英文使用utf-8:
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding
中文使用:
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = [System.Text.Encoding]::GetEncoding(936);
4、以管理员身份打开powershell,运行下面代码
Set-ExecutionPolicy Unrestricted
5、打开powershell,输入chcp,查看代码活动页是否是 936(GBK) 和 65001 (UTF-8)
如果上述操作后仍然无法正常显示中文,应该是没有正确配置中文字体。推荐安装windows terminal,设置等宽且支持中文的字体。推荐支持Retina的等宽字体FiraCode Nerd Font Mono Retina
。
如果在VSCode中无法正常显示,参考以下配置:
{
"terminal.external.windowsExec": "C:\\Program Files\\PowerShell\\7\\pwsh.exe --nologo",
"editor.fontFamily": "'FiraCode Nerd Font Mono Retina', 'Microsoft YaHei Mono', Consolas, 'Courier New', monospace",
"terminal.integrated.minimumContrastRatio": 1,
"terminal.integrated.defaultProfile.windows": "PowerShell",
"terminal.integrated.profiles.windows": {
"PowerShell": {
"path": "C:\\Program Files\\PowerShell\\7\\pwsh.exe",
"args": [
"--nologo"
],
"source": "PowerShell",
"icon": "terminal-powershell"
}
}
}