【发布时间】:2017-04-29 13:47:30
【问题描述】:
问题
如何使git log 命令输出正确显示在 Windows CLI 终端上?
示例
如您所见,我可以正确键入变音字符,但在git log 上,输出以某种方式被转义。根据UTF-8 encoding table,输出中尖括号(< 和>)之间的代码对应于先前键入的git config 参数。
我尝试按照one of the answers for similar issue 中的建议将LESSCHARSET 环境变量设置为utf-8,但随后输出出现乱码:
我知道.git/config 使用utf-8 正确编码,因为它按预期由gitk 处理。
如果需要,这里是locale 命令输出
LANG=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_ALL=
编辑:
在纯 git-bash 中的输出也相同:
所以我认为问题与 shell 无关,并且与 Git 或其配置本身有关。
【问题讨论】:
-
你试过“Unicode characters in Windows command line - how?”中的解决方案了吗?
-
是的,我尝试了几个代码页,包括 65001 (UTF-8),但没有任何结果。似乎 chcp 命令对 git log 输出的显示方式没有影响。它始终以相同的方式显示。
-
对不起,如果这个问题听起来很愚蠢,但你为什么要使用 Windows 命令提示符而不是 Git Bash?它更适合使用 Git,窗口可调整到全屏,提示会自动显示您所在的分支等。
-
这不是愚蠢的@kriegaex,实际上它很好。我正在使用包装在 ConEmu 中的 git-bash 以供日常使用。结果是相同的i.imgur.com/hMKz9D3r.png。我已经用 cmd.exe 举例说明了我的问题,以免将人们与正在使用的其他相关工具混淆,因为我认为问题与 shell 无关,并且与 Git 或其配置本身有关。
-
@jthill 谢谢,这个答案似乎可以做到,stackoverflow.com/a/55674760/4592648
标签: git terminal character-encoding command-line-interface locale