英文Windows 10斯洛文尼亚键盘布局下CLI UTF-8字符显示异常求助
解决Windows 10斯洛文尼亚键盘布局下命令行UTF-8字符显示异常问题
这个问题我之前帮朋友处理过,核心原因是Windows传统命令行工具(CMD、PowerShell)默认使用OEM代码页(斯洛文尼亚对应的通常是CP852),而你要显示的č、š、ž、ć、đ这些UTF-8字符和该代码页不兼容,所以会被替换成?。IntelliJ IDEA因为默认就配置了UTF-8编码处理文本,所以能正常显示。下面给你分场景的具体解决办法:
临时解决(仅当前会话生效)
适合临时测试,重启命令行后需要重新设置:
- CMD:打开CMD后直接执行命令:
这会把当前CMD的代码页切换到UTF-8。之后记得确保命令行使用支持UTF-8的字体(比如Consolas、Lucida Console),不然可能还是显示异常。chcp 65001 - PowerShell:执行以下命令设置输出编码为UTF-8:
同样要检查字体是否支持这些特殊字符。[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
永久解决(每次启动自动生效)
1. CMD
- 方法一:修改快捷方式属性
右键点击CMD的快捷方式 → 选择「属性」→ 切换到「选项」标签页 → 在「代码页」下拉菜单中选择「UTF-8 (65001)」→ 切换到「字体」标签页,选择支持的字体(比如Consolas)→ 点击「确定」保存。 - 方法二:通过注册表修改(全局生效)
打开注册表编辑器(regedit),导航到路径:
修改两个键值:HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe- 将
CodePage的值改为65001(十进制) - 将
FaceName的值改为Consolas(或其他支持UTF-8的字体名称)
- 将
2. PowerShell
- 首先打开PowerShell的配置文件,执行命令:
如果提示配置文件不存在,直接创建新文件即可。notepad $PROFILE - 在打开的记事本中添加以下内容:
保存后关闭记事本,下次启动PowerShell时就会自动应用UTF-8编码设置。[Console]::OutputEncoding = [System.Text.Encoding]::UTF8 [Console]::InputEncoding = [System.Text.Encoding]::UTF8
3. Cmder
Cmder本质是封装了CMD/PowerShell,所以需要在它的任务配置里添加编码设置:
- 打开Cmder的设置界面(快捷键
Win+Alt+P) - 切换到「Startup」→「Tasks」,找到你常用的任务(比如
{cmd}或{powershell})- 如果是CMD任务:将命令修改为
cmd /k chcp 65001 - 如果是PowerShell任务:将命令修改为
powershell -NoExit -Command "[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; [Console]::InputEncoding = [System.Text.Encoding]::UTF8"
- 如果是CMD任务:将命令修改为
- 再切换到「General」→「Font」,选择支持UTF-8的字体(比如Consolas、Fira Code),点击「Save Settings」保存即可。
额外注意
如果设置后还是有问题,可能是某些程序输出的编码不是UTF-8,这时候需要确保输入输出编码完全一致——比如在PowerShell里同时设置输入和输出编码,就是上面永久解决步骤里添加的两行代码。
内容的提问来源于stack exchange,提问作者user9420260
相关产品推荐
相关产品推荐

