Eclipse中特殊属性的编码

问题描述:

我有一个在某些java和jsp页面中使用瑞典语的应用程序。
瑞典语单词在application.properties文件中描述,这些名称将在应用程序中使用。Eclipse中特殊属性的编码

应用程序屏幕:这是在属性中定义

Application Screen**strong text**

words文件和我在JSP页面中看到我的话是不同的。

button.search=Sök 

我尝试了设置中的所有内容类型。仍然我得到这个错误,因为这个不同的话我的应用程序不在日食。

可以请谁能告诉我什么样的变化,我需要在eclipse做的,使这个应用程序的工作

可能更改工作区编码会有所帮助。转到窗口 - >首选项 - >常规 - >工作区,并将文本文件编码更改为UTF8。

从你的屏幕截图,它看起来像您的属性文件在UTF-8编码,因此 ö由2个字节表示。

但属性文件必须在ISO-8859-1(任选\uXXXX转义)进行编码,而不是UTF-8或其他任何东西。

从 类java.util.Properties的JavaDoc中的说明:

load(Reader)/store(Writer, String)方法加载和存储从和向基于字符的数据流中指定的以下简单 面向行的格式 性质。方法的工作方式与 load(Reader)/store(Writer, String)对相同,除了输入/输出 流以ISO 8859-1字符编码进行编码。不能在此编码 直接表示 字符,可使用Unicode转义符[...]

这意味着,你应该存储你的文件application.properties在 ISO-8859-1编码写入。或者更好的是,你应该写的

button.search=S\u00F6k 

代替

button.search=Sök 

使用\uXXXX逃逸所有非ASCII字符的优点 您可以存储在UTF-8或ISO文件-8859-x,并且无论如何你都会得到相同的 文件内容。

+0

我已经使用ISO 8859-1 enconding为Application.properties文件,并在JSP和它工作正常。现在这里还有一个问题。 JSP将从Application.properties文件中获取值,并在Action类中使用相同的值。如果我检查动作类中的值,我会得到与前面提到的 – anudeep

+0

相同的问题,简而言之,我在从Application获取值时遇到问题。 .java文件中的属性。 – anudeep

更改您日食默认的内容类型:

窗口>首选项>常规>内容类型,设置UTF-8作为所有内容类型的默认编码。

只需使用Eclipse的属性编辑器。它仅在允许的字符编码(ISO 8859-1)中保存.properties文件,并且\ u转义不在该字符集中的字符。

它确实有一个悬停显示来显示已解码的代码点,但显示名称 - 值对表的视图会更好。

enter image description here