更改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编码方法
- 从微软商店或者github搜索 terminal,安装后打开,会自动集成cmd和powershell,打开下拉菜单进入设置
- 点击powershell的配置项,编辑命令行,在命令后面加上
-NoExit -Command chcp 65001
,保存,每次使用终端打开powershell会自动设置为utf-8
- 打开cmd配置项,编辑命令行,加上
/k chcp 65001
,保存,每次使用终端打开cmd会自动设置为utf-8。
- 如果不希望自动改为utf-8,只需要把上述步骤中添加的命令删除即可。
方法5: 创建快捷方式,添加运行参数,powershell cmd通用
以powershell为例,cmd操作类似。
- 如果你的开始菜单里面已经有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。