Git 是否可以允许一个存储库使用utf-8编码,另一个存储库使用gbk编码?
环境:Git 是否可以允许一个存储库使用utf-8编码,另一个存储库使用gbk编码?,git,web,encoding,Git,Web,Encoding,环境: SUSE Linux企业服务器11 sp1 git版本1.6.0.2 用于访问控制的gitoite git web在apache上运行 我有两个存储库。在repo a中,它是编码 是gbk,而回购b是utf-8。 如果回购协议a有中文代码,则为中文字符 在git web上查看时,代码会很混乱 但回购协议b中的中文代码将正确显示。 所以我想问一下,GitWeb是否能够识别 不同存储库的不同编码。 并且可以显示中文代码(我对这一主题没有明确的知识;我只总结一下我对Git编码的了解。)
SUSE Linux企业服务器11 sp1
git版本1.6.0.2
用于访问控制的gitoite
git web在apache上运行
我有两个存储库。在repo a中,它是编码 是gbk,而回购b是utf-8。
如果回购协议a有中文代码,则为中文字符 在git web上查看时,代码会很混乱
但回购协议b中的中文代码将正确显示。
所以我想问一下,GitWeb是否能够识别 不同存储库的不同编码。 并且可以显示中文代码(我对这一主题没有明确的知识;我只总结一下我对Git编码的了解。) 有两种对象,其内容被解释为具有特定编码:
- 提交(提交消息是其中的主要部分)
- BLOBs—文件的内容
:当设置(编码名称)时,告诉Git将一个特殊的头放入一个commit对象,该对象指定commit消息的编码 相反,读取这样一个提交对象的工具可能会解析出这个头,并使用提交编码的知识将提交内容正确地重新编码到它们的本机表示中i18n.commitEncoding
在写入运行i18n.logOutputEncoding
命令的结果时,可能用于改变Git对用户终端编码的想法Git log
:设置后,使标准Git gui工具(gui.encoding
和gitk
)假定存储库中的所有文件都以指定的编码进行编码。这允许这些工具将文件内容正确地重新编码为其本机编码 Git工具可以在每个文件的基础上暗示存储库中文件的本机编码-使用中的Git gui
参数encoding
gitweb
,您可以尝试做些什么……这完全取决于此工具是否符合上述配置旋钮
首先,我会尝试在您的存储库中正确设置gui.encoding
(注意:在通过gitweb
访问的存储库中)
如果在提交消息中使用GBK,那么在这些提交对象中必须有一个适当的编码头,否则它将无法工作,我认为。如果没有它们,请考虑对存储库进行测试。这需要做一些研究
您还可以考虑调整web服务器配置,强制它运行的CGI工具(包括gitweb
)在其环境中查看启用GBK的区域设置-这可能会使gitweb
在显示文件时仅“传递”文件内容。我不确定它是否会起作用,但至少你可以试试