git clone破坏包含亚洲(UTF8)字符的文件

时间:2013-09-13 05:01:29

标签: git utf-8

我已经将一个存储库从Mac上传到git服务器,其中存储库中有亚洲字符的html文件,现在当我在Windows7中克隆相同的存储库时,html文件显示损坏的数据,而我可以在gitweb上看到git服务器上的文件很好。任何想法,我做错了什么以及如何解决它?

以下是我的git config

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    hideDotFiles = dotGitOnly
    autocrlf = false
    quotepath = off
[alias]
    st = status

[i18n]
    logoutputencoding = utf8
    commitencoding = utf8

1 个答案:

答案 0 :(得分:2)

“服务器端”Git对您文件的内容不感兴趣 - 它甚至不知道它们存在,因为它在客户端发送的不透明数据块上运行。

此外,“客户端”Git不会触及您的文件,除非clean/smudge filters到位和/或启用EOL转换(无论如何与编码无关,因此不适用)。

因此我和@ joahim-sauer讨论这个问题 - 据说你的问题在于解释。请注意,Windows Notepad会查看BOMs以了解文件是UTF-8,并且你不会说服文件是UTF-8,除非文件包含BOM,而且许多文件没有(许多人认为它们不应该)。