处理git无法显示中文的问题
git pull 遇到乱码
执行git pull 输出好多编码非中文的字符:
1remote: Enumerating objects: 42, done.
2remote: Counting objects: 100% (42/42), done.
3remote: Compressing objects: 100% (18/18), done.
4remote: Total 32 (delta 9), reused 32 (delta 9), pack-reused 0 (from 0)
5Unpacking objects: 100% (32/32), 4.17 KiB | 8.00 KiB/s, done.
6From github.com:JermineHu/jerminehu.github.io
7 08d9ec6..9c5c1ec master -> origin/master
8Updating 08d9ec6..9c5c1ec
9Fast-forward
10 .../29\346\227\245/\345\205\263\344\272\216claude code\344\275\277\347\224\250.md" | 39 +++++++++++++++++++++++++++++++++++++++
11 .../30\346\227\245/\346\210\220\344\270\272\350\207\252\345\267\261.md" | 1 +
12 .../03\346\227\245/\345\205\263\344\272\216\347\235\241\347\234\240.md" | 21 +++++++++++++++++++++
13 ...203\345\271\263\350\203\275\346\204\210\344\270\211\345\215\203\347\226\276.md" | 15 +++++++++++++++
14 ...214\345\222\214\346\203\263\346\210\220\344\270\272\347\232\204\344\272\272.md" | 14 ++++++++++++++
15 .../05\346\227\245/\346\234\235\350\212\261\345\244\225\346\213\276.md" | 6 ++++++
16 6 files changed, 96 insertions(+)
17 create mode 100644 "6. \350\241\250\350\276\276/\345\215\241\347\211\207/2026\345\271\264/2\345\255\243\345\272\246/05\346\234\210/03\346\227\245/\345\205\263\344\272\216\347\235\241\347\234\240.md"
18 create mode 100644 "6. \350\241\250\350\276\276/\345\215\241\347\211\207/2026\345\271\264/2\345\255\243\345\272\246/05\346\234\210/05\346\227\245/\345\277\203\345\271\263\350\203\275\346\204\210\344\270\211\345\215\203\347\226\276.md"
19 create mode 100644 "6. \350\241\250\350\276\276/\345\215\241\347\211\207/2026\345\271\264/2\345\255\243\345\272\246/05\346\234\210/05\346\227\245/\346\210\221\344\273\254\347\273\210\345\205\266\344\270\200\347\224\237\345\257\273\346\211\276\347\232\204\357\274\214\345\272\224\350\257\245\346\230\257\350\207\252\345\267\261\345\226\234\346\254\242\347\232\204\347\224\237\346\264\273\346\226\271\345\274\217\357\274\214\345\222\214\346\203\263\346\210\220\344\270\272\347\232\204\344\272\272.md"
20 create mode 100644 "6. \350\241\250\350\276\276/\345\215\241\347\211\207/2026\345\271\264/2\345\255\243\345\272\246/05\346\234\210/05\346\227\245/\346\234\235\350\212\261\345\244\225\346\213\276.md"
解决方案:
遇到的问题是 Git 默认将非 ASCII 路径名(如中文)转义为 \nnn 形式的八进制编码,这是为了确保在老旧或非 UTF-8 环境中输出不会乱码。解决办法很简单:关闭路径转义。
操作步骤
执行以下命令,让 Git 直接显示原始的中文字符:
1git config --global core.quotepath false
--global 表示全局生效(推荐),如果只想对当前仓库生效,去掉 --global 即可。
验证
再次执行 git status 或 git pull,文件名就会正常显示中文。
补充说明
- 确保你的终端(Terminal)支持 UTF-8 编码,大多数现代终端默认都支持。
- 如果之前的中文文件已经提交到了仓库,修改此配置后,
git log、git diff等命令也会正常显示中文路径。
可选的其他配置
如果你还遇到提交信息(commit message)中文乱码,可以同时设置:
1git config --global i18n.commitEncoding utf-8
2git config --global i18n.logOutputEncoding utf-8
这些配置对已提交的历史记录同样有效(只是显示层面的改动)。
