Git Bash终端中文输出显示乱码解决方案
原文链接:https://blog.csdn.net/u012145252/article/details/81775362,感谢作者的整理和分享
我的情况竟然属于最后一种。。。
解决git status不能显示中文
- 现象
status查看有改动但未提交的文件时总只显示数字串,显示不出中文文件名,非常不方便。如下图:
原因
-
在默认设置下,中文文件名在工作区状态输出,中文名不能正确显示,而是显示为八进制的字符编码。
-
解决办法
将git 配置文件core.quotepath
项设置为false。
quotepath表示引用路径
加上--global
表示全局配置
git bash 终端输入命令:
git config --global core.quotepath false
解决git bash 终端显示中文乱码
要注意的是,这样设置后,你的git bash终端也要设置成中文和utf-8编码。才能正确显示中文,例如对比如下:
在git bash的界面中右击空白处,弹出菜单,选择选项->文本->本地Locale
,设置为zh_CN
,而旁边的字符集选框选为UTF-8
。
英文显示则是:Options->Text->Locale改为zh_CN,Character set改为UTF-8
如图
通过修改配置文件来解决中文乱码
如果你的git bash终端没有菜单选项显示,还可以通过直接修改配置文件的方式来解决中文乱码问题。
进入git的安装目录
- 编辑
etc\gitconfig
文件,也有些windows系统是存放在C:\Users\Administrator\.gitconfig
路径或安装盘符:\Git\mingw64\etc\gitconfig
,在文件末尾增加以下内容:
[gui]
encoding = utf-8
# 代码库统一使用utf-8
[i18n]
commitencoding = utf-8
# log编码
[svn]
pathnameencoding = utf-8
# 支持中文路径
[core]
quotepath = false
# status引用路径不再是八进制(反过来说就是允许显示中文了)
- 编辑
etc\git-completion.bash
文件,在文件末尾增加以下内容:# 让ls命令能够正常显示中文
alias ls='ls --show-control-chars --color=auto' - 编辑
etc\inputrc
文件,修改output-meta和convert-meta属性值:set output-meta on # bash可以正常输入中文
set convert-meta off - 编辑profile文件,在文件末尾添加如下内容:
export LESSHARESET=utf-8
2020-12-11 补充
还有一种情况出现乱码而且上面的方法解决不了的,就是你windows安装git bash的时候框选了字体,然后你系统中没有那个字体导致。这种情况下只能先卸载git bash,重装不要选字体。
当然区分这两种情况很简单,没有字体那种实际上敲ls命令查看的时候还是能看到中文的,但在git status的时候就会出现乱码。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤