原文链接: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的安装目录

  1. 编辑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引用路径不再是八进制(反过来说就是允许显示中文了)

  1. 编辑etc\git-completion.bash文件,在文件末尾增加以下内容:

    # 让ls命令能够正常显示中文
    alias ls='ls --show-control-chars --color=auto'

  2. 编辑etc\inputrc文件,修改output-meta和convert-meta属性值:

    set output-meta on # bash可以正常输入中文
    set convert-meta off

  3. 编辑profile文件,在文件末尾添加如下内容:

    export LESSHARESET=utf-8

2020-12-11 补充

还有一种情况出现乱码而且上面的方法解决不了的,就是你windows安装git bash的时候框选了字体,然后你系统中没有那个字体导致。这种情况下只能先卸载git bash,重装不要选字体。

当然区分这两种情况很简单,没有字体那种实际上敲ls命令查看的时候还是能看到中文的,但在git status的时候就会出现乱码。

Git Bash终端中文输出显示乱码解决方案的更多相关文章

  1. Git bash下中文乱码问题

    Git bash下中文乱码--解决方案 解决办法1: 在git bash下,右键 出现下图,选择options: 选择"Text" 将Character set设置为 UTF-8 ...

  2. g++编译后中文显示乱码解决方案(c++)

    g++编译后中文显示乱码解决方案   环境:Windows 10 专业版 GCC版本:5.3.0 测试代码: 1 #include <iostream> 2 using namespace ...

  3. MYSQL 命令行显示乱码 解决方案

    中文乱码是因为编码集不支持,所以要改变编码 先查看下设置的编码 使用如下命令 show variables like 'character%'; 在 mysql.conf (Ubuntu mysql5 ...

  4. Python3:读取配置dbconfig.ini(含有中文)显示乱码的解决方法

    Python3:读取配置dbconfig.ini(含有中文)显示乱码的解决方法 一.原因 Python 3 中虽有encoding 参数,但是对于有BOM(如Windows下用记事本指定为utf-8) ...

  5. Visual Studio Code 1.44 解决中文代码显示乱码问题(小白图文教程)

    现今主流的计算机中文字符编码方案是:GBK和UTF-8. 不同编码方案使用不同的字符集,GBK字符集在中文字符长度和字符数量上存在绝对优势,但对国外字符并不支持.所以,完全面向国内的程序/网页使用的是 ...

  6. 『现学现忘』Git基础 — 7、设置Git Bash终端默认路径

    目录 1.Git Bash默认路径 2.如何查看Git Bash终端默认路径 3.如何修改Git Bash终端的默认路径 4.拓展:指定目录进入Git Bash终端 5.注意事项 如果您不熟悉Git命 ...

  7. Qt控制台输出显示乱码

    Qt控制台输出显示乱码 https://jingyan.baidu.com/article/ab69b2709aab0b2ca7189f3d.html

  8. .net 连接ORACLE中文显示乱码解决方案

    FYI由于历史的原因,早期的oracle没有中文字符集(如oracle6.oracle7.oracle7.1),但有的用户从那时起就使用数据库了, 并用US7ASCII字符集存储了中文,或是有的用户在 ...

  9. Cmder使用ls中文显示乱码解决方案

    操作系统:Windows 7 旗舰版 Cmder:1.3.2 默认配置不支持使用ls显示中文命名的文件列表. 解决方法: 按下Win+Alt+P打开设置. 在StartUp - Environment ...

  10. linux终端 字符界面 显示乱码

    方法一:配置SSH工具 SecureCRT中文版配置 [全局选项]→[默认会话]→[编辑默认设置]→[终端]→[外观]→[字体]→[新宋体 10pt CHINESE_GB2312]→[字符编码 UTF ...

随机推荐

  1. 万字长文带你深入Redis底层数据结构

    Redis数据库的数据结构 Redis 的键值对中的 key 就是字符串对象,而 value 就是指Redis的数据类型,可以是String,也可以是List.Hash.Set. Zset 的数据类型 ...

  2. json数据按照某一个相同键值进行分类成一个新的二维json数组

    1 formatTreeData(checkNodes){ 2 var map = {}, 3 targetData = []; 4 checkNodes.forEach(item => { 5 ...

  3. 用OpenResty搭建高性能服务端

    相关链接:https://github.com/openresty/lua-nginx-module OpenResty 简介 OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web ...

  4. Codeforces Round #826 (Div

    Codeforces Round #826 (Div. 3) Minimize the Thickness 给定数组a,要求将数组a分成若干个子序列,并且使得每个子序列中的元素和都相等,设这些子序列中 ...

  5. a标签与Blob下载文件的区别和获取文件下载进度

    文件下载的几种方式. 大家都做过文件下载,无非就是通过a标签给定一个href. 用户点击下载按钮. 或者使用Blob的方式进行下载. 这两种是很常见的,也是我们平时做使用最多的方式. 那么我们知道这2 ...

  6. 下列哪个选项是对MTU的正确计算方式?

    A.   IP数据包头部 + TCP数据报头部 + 数据 B.   MAC头 + IP头 + TCP头 + 数据 C.   MAC头 + IP头 + TCP头 + 数据 + FCS D.   前同步码 ...

  7. 通用的定时任务工具 schedule-server

    背景: 我曾经在一个自动化测试平台中集成定时任务,基于 APScheduler 库花了好长时间解决重复执行的问题.定时任务集成在服务中也让服务变得复杂.最后,我们选择了公司其他团队go语言开发的一个定 ...

  8. Vite项目无法通过IP+端口的方式访问开发服务

    前情 最近要新开一个项目,技术栈由自己安排,于是就想到使用vue3+vite来做,体验一把新技术栈 坑位 vite开发体验极佳,但是在项目完成的时候,想通过本地服务提前发给产品确认UI.交互等细节的时 ...

  9. 内网穿透之http代理服务器

    在公网访问内网http服务可以用内网穿透工具,例如frp和nps等优秀工具.但我发现这类工具会在服务器启动不止一个端口,对于有些网络审查来说很容易发现在进行内网穿透.因此我想是否可以只在服务器启动一个 ...

  10. CreateElement vs DOM Parser

    Benchmark: CreateElement vs DOM Parser - MeasureThat.net 可见 createElement 效率并不逊于 HTML.