为 Git GUI 差异窗口设置 UTF-8 显示

Posted

技术标签:

【中文标题】为 Git GUI 差异窗口设置 UTF-8 显示【英文标题】:Set UTF-8 display for Git GUI differences window 【发布时间】:2014-06-02 19:10:37 【问题描述】:

我不记得我是如何让 Git GUI 正确显示 UTF-8 编码的差异的。我也无法在搜索引擎中找到该指南。

现在我需要在新工作场所执行此操作。你能写下说明吗?

操作系统:Windows 7

【问题讨论】:

请提供有关您的设置的更多详细信息 - 主机操作系统类型和版本。如果这是 Linux 或 Mac,请显示 locale 所说的内容。 【参考方案1】:
# Global setting for all you repositories
> git config --global gui.encoding utf-8

# For one repository only
> git config gui.encoding utf-8

或从 GUI 窗口:

编辑 -> 选项... -> 默认文件内容编码 -> 更改

然后选择“Unicode (UTF-8)”

在“选项”中,您会看到有两个面板,右侧的一个用于所有存储库,左侧的一个用于本地存储库。

【讨论】:

嗯。这对我不起作用... :( 是否有比这个设置更多的错误? @mikew 是的。此选项为 git-gui 和 gitk 指定文件内容的默认编码。见documentation 在我的情况下,我必须重新启动 gui 才能使选项生效。【参考方案2】:

Git 2.34 (Q4 2021) 阐明了文件内容编码:

见commit 1e93770、commit fd680bc(2021 年 8 月 27 日)Jeff King (peff)。(由 Junio C Hamano -- gitster -- 合并到 commit bfe37f3,2021 年 9 月 10 日)

docs:使用“字符编码”来指代提交对象编码

签字人:杰夫·金

encoding”这个词可以表示很多东西(例如,电子邮件中的 base64 或带引号的可打印编码、html 实体、URL 编码等)。

i18n.commitEncodingi18n.logOutputEncoding 的文档使用短语“字符编码”来说明这一点。

让我们在其他地方使用该短语来明确我们在谈论哪种编码。

这个补丁涵盖了 gui.encoding 选项,以及git-log--encoding 选项等(在后一种情况下,我同时对句子进行了一些修改时间)。 再加上--encoding 描述中提到的iconv,应该会更清楚地说明这一点。

git config 现在包含在其man page 中:

指定用于显示的默认字符编码

所以git config gui.encoding utf-8 指的是character encoding,这是一种通过某种编码系统来表示一系列字符的方法,该编码系统为每个字符分配一个数字以进行数字表示。 (相对于 base64 之类的 MIME Content-Transfer-Encoding)。

【讨论】:

以上是关于为 Git GUI 差异窗口设置 UTF-8 显示的主要内容,如果未能解决你的问题,请参考以下文章

Git GUI汉化,设置成中文

GUI

Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具

Git bash win10 下中文乱码问题解决

Windows下GIT配置BeyondCompare为默认差异比较工具和合并工具

GIT GUI 怎么设置成中文