PowerShell解决中文乱码问题

  |  

摘要: PowerShell 上显示中文乱码问题的解决

【对数据分析、人工智能、金融科技、风控服务感兴趣的同学,欢迎关注我哈,阅读更多原创文章】
我的网站:潮汐朝夕的生活实验室
我的公众号:潮汐朝夕
我的知乎:潮汐朝夕
我的github:FennelDumplings
我的leetcode:FennelDumplings


首先右键 PowerShell 的菜单栏,看到代码活动页是 936(GBK) :

临时解法

在 PowerShell 中执行以下命令。此后就可以显示中文了。不过重启 PowerShell 后失效。

1
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = [System.Text.Encoding]::GetEncoding(936);

长期解法

打开配置文件 $PROFILE,添加以下代码:

1
2
3
4
# 英文使用 utf-8
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding
# 中文
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = [System.Text.Encoding]::GetEncoding(936);

然后以管理员打开 PowerShell,执行以下命令:

1
Set-ExecutionPolicy Unrestricted

chcp 命令查看代码活动页,结果如下:

1
活动代码页: 936

Share