🔧 一、核心配置修复(优先操作)

  1. 禁用 Git 路径转义
    执行以下命令关闭 Git 对非 ASCII 字符的自动转义:

    1
    git config --global core.quotepath false # 大部分情况配置这个就好了

    效果git status 中的中文路径将直接显示原始字符而非八进制编码。

  2. 设置环境变量强制 UTF-8 编码
    临时生效方案(当前 CMD 窗口):

    1
    set LESSCHARSET=utf-8 # 配置UTF-8

    永久生效方案(需管理员权限):

    1
    [Environment]::SetEnvironmentVariable("LESSCHARSET", "utf-8", "Machine")

    效果:解决 git loggit status 等命令的输出乱码。


⚙️ 二、系统级调整(解决深层兼容问题)

1. 修改 CMD 控制台编码为 UTF-8

  • 临时生效
    1
    chcp 65001  # 切换当前会话编码为 UTF-8
  • 永久生效(需修改注册表):
    1. Win+R 输入 regedit 打开注册表;
    2. 定位路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
    3. 新建字符串值 Autorun,数据设为 @chcp 65001>nul

2. 启用系统全局 UTF-8 支持

  1. 控制面板 → 时钟和区域 → 区域 → 管理 → 更改系统区域设置;
  2. 勾选 Beta 版:使用 Unicode UTF-8 提供全球语言支持
  3. 重启电脑生效。
    ⚠️ 注意:此操作可能影响部分老旧程序,建议评估后使用。

🔍 三、辅助排查与优化

  1. 检查字体兼容性
    • 右键 CMD 标题栏 → 属性 → 字体 → 选择支持中文的字体(如 微软雅黑Consolas)。
  2. 验证 Git 全局编码设置
    执行以下命令确保输出均为 utf-8
    1
    2
    git config --global --get i18n.commitencoding  # 应为 utf-8
    git config --global --get i18n.logoutputencoding # 应为 utf-8
  3. 改用 Git Bash 替代 CMD
    Git Bash 原生支持 UTF-8,操作步骤:
    • 右键 Git Bash 标题栏 → Options → Text → Locale 选 zh_CN,Character set 选 UTF-8

💎 四、效果验证与总结

操作步骤 验证命令 预期效果
禁用 core.quotepath git status 中文路径正常显示
设置 LESSCHARSET=utf-8 git log 中文提交信息无乱码
切换 CMD 编码 (chcp 65001) dir 中文文件名正常显示

总结

90% 的乱码问题通过 核心配置修复 即可解决。若仍存在异常,按顺序执行 系统级调整辅助排查 步骤。优先推荐永久生效方案,避免重复操作。