Windows怎么解决Git中文文件名乱码_Windows如何配置Git正确显示中文文件名和路径【避坑】-1

如果您在 Windows 环境下使用 Git Bash 或命令行执行 git status、git log 或 ls 时,中文文件名显示为问号、八进制转义序列(如 \346\265\213\350\257\225.txt)或乱码,则说明 Git 及其终端环境未正确配置 UTF-8 编码支持。以下是多种独立有效的解决方法:

一、禁用文件路径转义并启用 UTF-8 输出编码

该方法通过修改 Git 全局配置,使 Git 停止对中文路径进行八进制转义,并强制 commit 和 log 输出使用 UTF-8 编码,从而直接显示原始中文文件名与日志内容。

1、以管理员权限打开 Git Bash,依次执行以下四条命令:

2、git config –global core.quotepath false

3、git config –global gui.encoding utf-8

4、git config –global i18n.commitencoding utf-8

5、git config –global i18n.logoutputencoding utf-8

二、修复 Git Bash 终端输入与显示层编码

Git Bash 默认使用本地编码(GB2312),导致中文输入不可见、ls 列出中文文件名显示为问号、git log 分页时中文异常。需同步修改底层终端行为配置文件。

1、用文本编辑器(如 Notepad++ 或 VS Code)以管理员身份打开文件:C:\Program Files\Git\etc\inputrc

2、查找并修改以下两行(若不存在则添加):

3、set output-meta on

4、set convert-meta off

5、保存后关闭所有 Git Bash 窗口,重新启动生效。

三、配置 ls 命令支持中文文件名显示

Git Bash 中原生 ls 命令默认不识别控制字符,导致中文文件名渲染为乱码或问号。通过设置别名启用控制字符显式解析,可立即改善目录列表显示效果。

1、用文本编辑器以管理员身份打开文件:C:\Program Files\Git\etc\git-completion.bash

2、在文件末尾新增一行:

3、alias ls=’ls –show-control-chars –color=auto’

4、保存后重启 Git Bash,执行 ls 即可正常显示中文文件名。

四、修复 git log 分页器中文乱码

Git 默认使用 less 作为分页器,而 less 在 Windows 下默认不启用 UTF-8 字符集,导致 git log 中文提交信息显示为方块或乱码。需显式声明字符集环境变量。

1、用文本编辑器以管理员身份打开文件:C:\Program Files\Git\etc\profile

2、在文件末尾新增一行(注意等号前后不能有空格):

3、export LESSCHARSET=utf-8

4、保存后重启 Git Bash,执行 git log 即可正确渲染中文提交信息。

五、手动验证并强制终端使用 UTF-8 模式

即使完成上述配置,部分旧版 Git Bash 或系统 locale 设置仍可能回退至 GBK/GB2312。此方法通过运行时指令强制切换当前会话编码,适用于临时调试或快速验证。

1、在已打开的 Git Bash 窗口中,输入以下命令:

2、chcp 65001

3、该命令将当前控制台代码页切换为 UTF-8(65001 是 Windows 的 UTF-8 代码页编号)。

4、随后执行 git status 或 ls,观察中文文件名是否立即恢复正常显示。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。