git中文乱码需三步解决:先执行git config --global core.quotepath false禁用路径转义;再配i18n.commitencoding、i18n.logoutputencoding和gui.encoding均为utf-8;最后统一终端编码为utf-8。
电脑用git命令拉取代码时,提交记录里的中文注释显示为问号、锟斤拷或八进制转义序列(如\346\254\242),说明git在读取或输出commit message时编码不匹配,不是文件内容本身损坏,而是路径解析与日志渲染两个环节同时失守。
一步禁用路径转义(解决 git status / git diff 文件名乱码)
执行这条命令:git config --global core.quotepath false
这步必须最先做——它告诉Git:别把中文路径当危险字符转义,原样输出。否则后续所有配置都白搭,因为文件名一上来就变成\345\271\277\346\265\213\344\272\213.txt这种形态,连add都可能失败。
【注意:如果执行后仍无效,立即运行 git config --local core.quotepath 查看项目级配置是否覆盖了全局设置】
三招齐配日志编码(解决 git log / git show 注释乱码)
按顺序执行以下三条命令:
第一步:git config --global i18n.commitencoding utf-8
第二步:git config --global i18n.logoutputencoding utf-8
第三步:git config --global gui.encoding utf-8
前两条是核心:commitencoding 确保你本地 commit 时用 UTF-8 编码写入,logoutputencoding 确保 Git 输出日志时保持 UTF-8 不转换。第三条专治 Git GUI 界面里的乱码,顺手加上不费事。
⚠️ 如果团队中有人曾用 GBK 提交过历史记录,这些旧 commit 的中文无法靠配置自动修复——新配置只对今后的提交生效。
终端环境补丁(Git Bash / PowerShell / CMD 必做)
方法一(Git Bash):右键窗口标题栏 → Options → Text → Character set 选 UTF-8 → Font 选 Microsoft YaHei 或 SimSun → Save → 关闭并重启窗口。
方法二(PowerShell):以普通用户身份打开 PowerShell,运行:
if (!(Test-Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force }
Add-Content -Path $PROFILE -Value '[System.Console]::OutputEncoding = [System.Text.Encoding]::UTF8'
方法三(CMD):直接在命令行输入 chcp 65001,但该命令仅当前会话有效;如需永久生效,需修改注册表 HKEY_CURRENT_USER\Console 下的 CodePage 值为十进制 65001。











