为 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.commitEncoding
和i18n.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小技巧 - 指令别名及使用Beyond Compare作为差异比较工具