跨Eclipse、Mercurial、Windows和Mac OS的编码问题。

问题描述 投票:2回答:3

在我学习CS的过程中,我们有不少小组作业。我们使用Eclipse用Java编程。我们(或者至少我试图让他们)使用Mercurial和BitBucket共享代码。我运行Mac OSX 10.7,其他人运行Windows 7。当我们共享代码时,我们经常遇到编码问题。丹麦字符,如æ,ø和å经常是一团糟。

在Windows上,Eclipse默认为Cp1252,在MacOS上默认为MacRoman。我一直试图让大家使用UTF-8,但是他们之前写的代码(用Cp1252)不会正确显示,所以他们被迫经常切换,结果通常是他们默认回到Cp1252,当他们提交代码到共享仓库时就忘记了。

eclipse encoding mercurial
3个回答
6
投票

对我来说,它的工作原理是在Windows上使用标准编码(Cp1252)的Eclipse,并告诉Eclipse在Mac上使用的编码ISO-8859-1。在 Mac 上,我在设置中为整个工作区配置了这个功能(在 General --> Workspace 下)。


0
投票

将旧的1250文本手工编码成UTF8,并且只使用这些版本。


0
投票

根据经验,我认为最好的解决方案是大家使用UTF-8,它可以代表任何Unicode字符。

CP1252 &ISO-8859-1的变通方法并不完美,有些 人物 之间不兼容。而且,大多数IDE都默认为UTF-8,如果一定要有人麻烦地更改Eclipse编码设置,我相信应该是Windows用户。

所以在使用CP1252 &ISO-8859-1的时候,我头疼了很久,决定把我所有的文件都改成UTF-8。如果有人感兴趣的话,可以在Unix上用一个 这样的命令,这将改变当前目录及其子目录中的所有文件。

find . -name "*.java" -exec sh -c "iconv -f ISO-8859-1 -t UTF-8 {} > {}.utf8"  \; -exec mv "{}".utf8 "{}" \;

因为你告知的是原始编码,所以iconv将能够在不乱用重音和特殊字符的情况下进行转换。

然后请大家新建一个工作区,将Eclipse上的所有编码配置配置为UTF-8(Windows用户),再导入项目。

© www.soinside.com 2019 - 2024. All rights reserved.