6

我注意到当我在 Windows 上的Git Bash中运行时,包含德语变音符号的提交消息没有正确显示。这些提交是在 Ubuntu 上使用Terminal进行的。通常,提交消息是用英文写的,但是当涉及到名称时,就没有办法了,例如,我猜它也可能是Git Bash,它无法处理字符编码。但也许有一个设置可以强制编码以在 Git 的任何模块( Git GuiGit k)中 写入和显示文本。git logAdded library by Simon Jünker.utf-8

你的 Git 多平台字符编码设置是什么?请确保在您的答案中包含两个平台的配置。您还可以添加 MacOS。

4

3 回答 3

4

此链接显示了解决此问题的方法:

请试试:

set LESSCHARSET=UTF-8

在 Windows 命令 Shell (cmd.exe) 中并再次运行 git 命令。

于 2018-08-07T10:08:33.330 回答
1

尝试使用以下命令之一在 GIT Bash 提示符下设置 git config:

git config --global i18n.commitEncoding utf8
git config --global i18n.commitEncoding cp1252

如果您团队中的某个人使用另一种编码,您将遇到不匹配的情况。Petra 使用 utf8:

git commit -m "Petras message with umlaut ÄäÜüÖöß etc."

卡尔使用 cp1252:

git commit -m "Karls message with umlaut ÄäÜüÖöß etc."

Sara 检查推送的分支,根据她的编码,她将看到其中一条消息格式正确,而另一条消息格式错误。

git config --global i18n.commitEncoding utf8
git log -n 2 --oneline
    Petras message with umlaut ÄäÜüÖöß etc.
    Karls message with umlaut <C4><E4><D6><F6><DC><FC><DF> etc.

git config --global i18n.commitEncoding cp1252
git log -n 2 --oneline
    Petras message with umlaut ÄäÜüÖöß etc.
    Karls message with umlaut ÄäÜüÖöß etc.
于 2021-05-05T17:18:30.567 回答
0

在 Mac OS X 上,只要您在 Preferences > Settings > Advanced 中设置了编码并且您选择了“Set locale environment variables on startup”,内置终端应该可以正常工作。(这些是默认值。)

显然,Windows 上的 MSysGit 不支持 UTF-8,但是如果您通过less来自 cygwin 的副本来管道 git 命令输出,则一切正常。msysgit Google Group 中有一些有用的信息。

于 2011-04-14T14:55:25.670 回答