首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java属性Eclipse中的UTF-8编码

Java属性Eclipse中的UTF-8编码
EN

Stack Overflow用户
提问于 2009-05-14 14:59:47
回答 8查看 110K关注 0票数 50

我最近不得不将我正在开发的webapp的编码从ISO-xx改为utf8。一切都很顺利,除了属性文件。我在eclipse.ini中添加了-Dfile.encoding=UTF-8,正常的文件工作正常。然而,属性显示出一些奇怪的行为。

如果我从Notepad++复制utf8编码的属性并将它们粘贴到Eclipse中,它们就可以很好地显示和工作。当我重新打开属性文件时,我看到一些Unicode字符,而不是正确的字符,例如:

代码语言:javascript
复制
Zur\u00EF\u00BF\u00BDck instead of Zurück

但应用程序仍然运行良好。如果我开始编辑属性,添加一些特殊字符并保存,它们会正确显示,但它们不起作用,所有以前起作用的特殊字符也不再起作用。

当我将本地版本与CVS进行比较时,我可以正确地看到远程文件中的特殊字符,更新后,我再次开始:应用程序工作,但Eclipse显示Unicode字符。

我尝试通过右键单击并选择“Other:UTF8”来更改文件编码,但没有帮助。它还说:“根据内容确定:ISO-8859-1”

我正在使用基于Eclipse3.3的Java 6和Jboss Developer

我可以在Notepad++中编辑属性并将其粘贴到Eclipse中,但如果有人能帮助我在Eclipse中修复这个问题,我将不胜感激。

EN

回答 8

Stack Overflow用户

发布于 2010-06-15 04:44:02

代码语言:javascript
复制
Properties props = new Properties();
URL resource = getClass().getClassLoader().getResource("data.properties");         
props.load(new InputStreamReader(resource.openStream(), "UTF8"));

像个魔法师一样工作

:-)

票数 11
EN

Stack Overflow用户

发布于 2010-10-26 20:06:15

代码语言:javascript
复制
Properties props = new Properties();
URL resource = getClass().getClassLoader().getResource("data.properties");         
props.load(new InputStreamReader(resource.openStream(), "UTF8"));

这在java 1.6中工作得很好。我如何在1.5中做到这一点,因为Properties类没有解析InputStreamReader的方法。

票数 4
EN

Stack Overflow用户

发布于 2012-11-22 01:26:14

有更简单的方法:

代码语言:javascript
复制
props.load(new InputStreamReader(new FileInputStream("properties_file"), "UTF8"));
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/863838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档