使用 msysgit 进行字符编码
在我的 winXP 盒子上创建的提交消息在我的 Win7 盒子上读取时会生成警告。
我的名字包含特殊字符(ö),我想这是问题的根源,因为我的名字在提交中。 我在尝试存储在 winXP 上创建的提交上的更改时看到了这个问题: 警告:提交消息不符合 UTF-8。
我想检查在 winXP 上使用什么编码来生成提交,但找不到如何操作。
$ git config --get i18n.commitencoding 在两台机器上返回空白。
http://www.kernel.org/pub/software /scm/git/docs/git-commit.html 似乎是说 git 检查提交对象中的编码。
git log、git show、git Blame 和 朋友们看一下编码头 提交对象,并尝试重新编码 将日志消息转换为 UTF-8 除非 另有说明。
这很好,但是为什么 git 在 win7 上抱怨而不是在 winXP 上呢?
两台机器上的 msysgit 版本相同:1.7.4.msysgit.0。
Commit messages created on my winXP box generate warnings when read on my Win7 box.
My name contains special characters (ö), I suppose that this is the source of the problem since my name is in the commit.
I saw the problem while trying to stash changes on a commit created on winXP:Warning: commit message does not conform to UTF-8.
I would like to check what encoding was used to generate the commit on winXP, but can't find how.
$ git config --get i18n.commitencoding
returns blank on both machines.
http://www.kernel.org/pub/software/scm/git/docs/git-commit.html seems to say that git checks the encoding in the commit objects.
git log, git show, git blame and
friends look at the encoding header of
a commit object, and try to re-code
the log message into UTF-8 unless
otherwise specified.
That is fine, but then why does git complain on win7 and not on winXP?
msysgit versions are identical on both machines: 1.7.4.msysgit.0.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
只是一个疯狂的猜测,但我最近在 Rakefile 中的某人名字中遇到了类似的问题,实际上我必须更改 CMD 环境的编码才能运行它。
查看此 wiki 上的第二步:
https://github。 com/NancyFx/Nancy/wiki/Having-trouble-with-rake%3F
有关 chcp 命令的 Microsoft 文档位于此处:
http://www .microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/chcp.mspx?mfr=true
Just a wild guess but I had a similar problem with letters in someone's name in a Rakefile recently and I actually had to change the encoding of my CMD environment to run it.
Look at step number two on this wiki:
https://github.com/NancyFx/Nancy/wiki/Having-trouble-with-rake%3F
The Microsoft documentation on the chcp command is here:
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/chcp.mspx?mfr=true
使用 i18n.commitEncoding 得到更好的支持现代 Git(2019),但只有 Git 2.25(2020 年第一季度)提供了完整支持:处理在期间使用非 UTF-8 编码的提交对象“
rebase -i
”已得到改进。请参阅 提交 52f52e5,提交 5772b0c(2019 年 11 月 11 日),提交b375744,提交 019a9d8, 提交 0798d16, 提交 e4b95b3, 提交 1ba6e7a(2019 年 11 月 8 日),以及 提交 99b2ba3(2019 年 11 月 7 日),作者:Doan Tran Cong Danh (
congdanhqx-zz
)。(由 Junio C Hamano --
gitster
-- 合并于 提交 6511cb3,2019 年 12 月 1 日)Using i18n.commitEncoding is better supported with modern Git (2019), but only Git 2.25 (Q1 2020), provides a full support: Handling of commit objects that use non UTF-8 encoding during "
rebase -i
" has been improved.See commit 52f52e5, commit 5772b0c (11 Nov 2019), commit b375744, commit 019a9d8, commit 0798d16, commit e4b95b3, commit 1ba6e7a (08 Nov 2019), and commit 99b2ba3 (07 Nov 2019) by Doan Tran Cong Danh (
congdanhqx-zz
).(Merged by Junio C Hamano --
gitster
-- in commit 6511cb3, 01 Dec 2019)