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
最佳实践
- 统一编码:所有配置使用UTF-8编码
- 全局配置:使用–global参数设置全局配置
- 团队统一:确保团队成员使用相同配置