更改cmd powershell默认编码为utf-8 更改windows默认编码格式为UTF-8,解决控制台cmd乱码,设置应用默认编码为UTF-8

在命令行输入chcp查看当前windows默认编码
936 对应 GBK
65001 对应 UTF-8

方法1:临时更改cmd和powershell窗口中文编码方法

在命令行输入如下命令,可以临时更改当前窗口编码
chcp 936 改为gbk
chcp 65001 改为utf-8

方法2:永久修改cmd编码,修改注册表,适用于cmd,在各种开发工具终端中均生效

按win+r,输入regedit运行,进入注册表

找到【HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor

新建一个表项,命名为autorun,值设为chcp 65001

每次启动cmd会自动更改编码为utf-8

方法3:永久修改powershell编码,添加profile文件,在VSCode/IDEA等开发工具中均生效。

管理员身份打开powershell,注意,以管理员身份,不然不能生效,依次执行如下命令:

#允许运行自定义脚本
set-executionpolicy remotesigned

#创建默认profile,如果存在则不创建
if (!(Test-Path -Path $PROFILE)) {
  New-Item -ItemType File -Path $PROFILE -Force
}

#查看创建的profile文件位置
$PROFILE

根据输出的位置,找到profile文件,例如

C:\Users\Yuanfei\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

使用编辑器打开,加入一行:

$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding

然后重启powershell,使用chcp查看编码,发现已经修改成了65001.

方法4:安装Terminal终端,统一管理cmd和powershell编码方法

  1. 从微软商店或者github搜索 terminal,安装后打开,会自动集成cmd和powershell,打开下拉菜单进入设置
    在这里插入图片描述
  2. 点击powershell的配置项,编辑命令行,在命令后面加上 -NoExit -Command chcp 65001,保存,每次使用终端打开powershell会自动设置为utf-8
    在这里插入图片描述
  3. 打开cmd配置项,编辑命令行,加上/k chcp 65001,保存,每次使用终端打开cmd会自动设置为utf-8。
    在这里插入图片描述
  4. 如果不希望自动改为utf-8,只需要把上述步骤中添加的命令删除即可。

方法5: 创建快捷方式,添加运行参数,powershell cmd通用

以powershell为例,cmd操作类似。

  1. 如果你的开始菜单里面已经有powershell,直接右键打开文件位置,就可以找到对应的快捷方式,直接跳到下一步
    找到下图路径,定位powershell.exe,发送到桌面快捷方式,或者创建快捷方式,放在你需要的地方。

在这里插入图片描述
2. 到桌面找到快捷方式,右键,打开属性,修改目标,加上-NoExit -Command chcp 65001,注意空格,这样每次使用快捷方式打开powershell就会自动修改为utf-8,你可以把快捷方式固定到开始菜单。
在这里插入图片描述

方法6:把windows系统编码更改为utf-8,对所有软件生效

注意事项】:勾选beta unicode支持后,一些不支持utf-8的中文软件、文件、压缩包可能会出现乱码。

依次开控制面板——时钟和区域——区域,然后按下图所示,勾选使用UTF-8语言支持。然后重启电脑。此时再使用chcp查看当前默认编码为65001 对应 UTF-8。
在这里插入图片描述在这里插入图片描述