Eclipse eGit不支持丹麦字母æøå(utf-8)?

时间:2013-07-04 10:33:50

标签: eclipse git utf-8 github egit

我使用eclipse和eGit提交我的java代码。

但是当我用æ,ø或å提交Strings(或其他)时,它会改为Github上的特殊字符。 这是一个问题,因为当我拉,它会返回那些特殊的字符!

我可以强制git / eGit / Github使用æ,ø和å。 我猜加密不是utf-8?

Windows 7和Linux(Ubuntu)都存在问题。 它发生在我推送到github(通过eclipse和eGit以及通过命令行同样的问题)。 Ø改为?标志。 以下是它在eclipse中的表现:

Element str = doc.createElement("Størrelse"); 

以及它在github上的外观如何

Element str = doc.createElement("St�rrelse");

当我从github拉出来时,我会得到这个:

Element str = doc.createElement("Størrelse");

我可以强制github使用UTF-8编码,还是以其他方式解决编码问题?

4 个答案:

答案 0 :(得分:2)

这是100%不是git问题。 Git不会以任何方式触及文件的编码。

这可能是GitHub 显示问题(注意:GitHub永远不会更改您的仓库的内容,因此也不会更改任何编码)。但是既然你的客户也遇到了问题,GitHub可能没有错。

问题可能是由您的编辑引起的。您的文件内容似乎在编写时编码为UTF-8,但用于打开文件的编辑器假定它是latin-1。尝试检查编辑器设置。

答案 1 :(得分:2)

Git将文件视为字节流。它不会改变文件的内容,也不关心它们的编码方式。

它还将文件名视为字节流(在macos上将文件名规范化,分解为正常形式,因此有一些解决方法)。它也没有改变你的文件名。

问题在于Eclipse如何编写文件,它们在github上的显示方式以及它在Eclipse的其他安装中的显示方式。确保在两台计算机上都在eclipse中设置了utf-8编码。

那说git实际上有一种方法可以让git在检查文件时进行修改,但是除了转换换行符(Windows安装程序会让你打开,我强烈建议你不要这样做)你' d必须设置所谓的“干净”和“涂抹”过滤器,如果你不这样做,git不会触及你文件的内容。

答案 2 :(得分:0)

我认为当你说“at github”时,你会想到通过他们的网络界面查看文件,并且在本地文件系统的新克隆中文件是可以的

这只是意味着你和github不同意你的文件编码,并且是跨平台问题的一个非常常见(但微妙)的原因。

我建议你:

  • 避免在文件名中使用除常规ASCII之外的任何内容。
  • 对Java源中的非ASCII字符使用\ uXXXX语法。

现在学会这样做,以后很可能会为你节省很多问题。

答案 3 :(得分:0)

添加完美结合的元数据。我知道,这个问题已得到解答,但这并不是你想知道的,所以我认为我也发布了这个帖子,以便其他人可以使用它。

<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">