我有一个java应用程序,它使用标准的Java国际化服务,具有英语和法语的GUI。我在JBuilder 2005上用一台旧机器编写了它,最近升级了,这意味着改变了IDE。我终于选择了IntelliJ。
但是,它似乎无法处理包含法语的ListResourceBundle后代中的重音字符。当我第一次创建IntelliJ项目并添加我的源代码(我手动完成,确保幕后没有任何奇怪的事情发生)时,我注意到所有重音字符都被改成了成对的字符,例如√©。我仔细检查了代码并纠正了所有这些问题,并认为问题已得到解决。
但我发现在运行(重建)项目时,仍然会显示字符对,而不是我在代码中看到的重音字符!
在IntelliJ中做过国际化的人可以告诉我需要做些什么来解决这个问题吗?
PS:我在Mac上。
答案 0 :(得分:1)
两件事 -
首先,确保您的文件存储为UTF,并且源控件支持编码。
其次,请考虑使用IntelliJ http://www.jetbrains.com/idea/features/i18n_support.html
中内置的资源包编辑支持答案 1 :(得分:0)
Java资源包应该只包含ascii和Unicode转义码 见[http://java.sun.com/developer/technicalArticles/Intl/ResourceBundles/]。
e.g。 \ u00d6ffnen为德国Öffnen。
命令行工具native2ascii从您的本机格式转换为ascii plus unicode转义码。这有点麻烦但不是Intellij而是Java问题。
注意:我在Mac上使用Intellij创建本地化为英语,德语和日语的程序。