我已经将一个存储库从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
答案 0 :(得分:2)
“服务器端”Git对您文件的内容不感兴趣 - 它甚至不知道它们存在,因为它在客户端发送的不透明数据块上运行。
此外,“客户端”Git不会触及您的文件,除非clean/smudge filters到位和/或启用EOL转换(无论如何与编码无关,因此不适用)。
因此我和@ joahim-sauer讨论这个问题 - 据说你的问题在于解释。请注意,Windows Notepad会查看BOMs以了解文件是UTF-8,并且你不会说服文件是UTF-8,除非文件包含BOM,而且许多文件没有(许多人认为它们不应该)。