乱码问题通常因编码不匹配,可通过修改代码页为chcp 65001、设置字体为Lucida Console或Consolas、调整系统区域支持UTF-8解决,PowerShell需设置输出编码为UTF8,确保程序输出、终端接收与字体三者编码一致。

命令行窗口出现乱码,通常是因为编码格式不匹配或系统区域设置问题。下面提供几种实用解决方法,帮助你快速恢复正常显示。
检查并修改当前代码页
Windows命令行默认使用OEM代码页,某些情况下与程序输出的UTF-8等编码冲突,导致乱码。
• 打开CMD或PowerShell,输入 chcp 查看当前代码页• 常见中文系统默认是 chcp 936(GBK编码)
• 如果程序输出的是UTF-8内容,可尝试切换为 chcp 65001
• 切换后,字体可能需要调整为“Lucida Console”或“Consolas”才能正常显示
设置正确的字体
部分字体不支持中文或特殊字符,会导致显示为方块或乱码。
• 在CMD窗口标题栏右键 → 属性 → 字体• 推荐选择 Lucida Console 或 Consolas
• 避免使用“点阵字体”,它对Unicode支持较差
更改系统区域设置(非Unicode程序)
如果运行老程序或跨语言环境脚本时乱码,可能是系统区域设置不匹配。
• 点击“更改系统区域设置”
• 勾选“Beta版:使用Unicode UTF-8提供全球语言支持”(谨慎启用,部分旧软件可能异常)
• 或保持关闭,确保系统语言与当前使用语言一致(如中文简体)
Powershell 中文乱码处理
PowerShell 默认编码可能不是UTF-8,尤其在处理脚本或管道输出时容易出错。
• 在PowerShell中执行:[Console]::OutputEncoding = [Text.Encoding]::UTF8• 或使用:$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding
• 可将该命令加入 $PROFILE 自动加载
基本上就这些。多数乱码问题通过调整代码页和字体就能解决。关键是要让程序输出编码、终端接收编码和字体支持三者匹配。不复杂但容易忽略细节。










