kaisawind's blog
  • 关于
  • 所有帖子

git下中文乱码 - Thu, Nov 12, 2020

git下中文乱码

git下中文乱码

问题原因

git默认中文文件名显示为\xxx\xxx等八进制形式,是因为对0x80以上的字符进行quote。

解决方法

方法1:关闭quotepath(推荐)

# 设置core.quotepath为false
git config --global core.quotepath false

方法2:设置编码

# 设置git编码
git config --global i18n.logoutputencoding utf-8
git config --global i18n.commitencoding utf-8
git config --global gui.encoding utf-8

方法3:在git bash中设置

# 在git bash中执行
git config --global core.quotepath false
git config --global i18n.logoutputencoding utf-8
git config --global i18n.commitencoding utf-8

Windows环境额外设置

设置控制台编码

# cmd中执行
chcp 65001

# PowerShell中执行
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8

设置Git Bash

编辑~/.bashrc或~/.bash_profile:

export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8

验证配置

# 查看当前配置
git config --global --list | grep -E "quotepath|encoding"

# 测试中文文件名
touch 测试文件.txt
git status

常见问题

Q: git log中文乱码?

git config --global i18n.logoutputencoding utf-8

Q: git commit中文乱码?

git config --global i18n.commitencoding utf-8

Q: git status中文乱码?

git config --global core.quotepath false

最佳实践

  1. 统一编码:所有配置使用UTF-8编码
  2. 全局配置:使用–global参数设置全局配置
  3. 团队统一:确保团队成员使用相同配置


辽ICP备2021007608号 | © 2026 | kaisawind

Facebook Twitter GitHub