为什么JSF属性文件不接受Eclipse中的非ASCII字符?

我想知道,为什么JSF属性文件不接受
Eclipse中的非ASCII字符?

我有一些名为“messages.properties”的属性文件,我要用非ASCII字符编写unicode转义字符,例如:

title=\u01af\u0020\u0a3f0
header=\u0ff0\u0020\u0ab1

这意味着客户无法使用常规文本编辑器编辑这些属性文件.

有什么解决方案吗?

最佳答案 这源于
java.util.Properties.load(InputStream)使用ISO-8859-1的事实.

The load(InputStream) / store(OutputStream, String) methods work the same way as the load(Reader)/store(Writer, String) pair, except the input/output stream is encoded in ISO 8859-1 character encoding. Characters that cannot be directly represented in this encoding can be written using Unicode escapes ; only a single ‘u’ character is allowed in an escape sequence. The native2ascii tool can be used to convert property files to and from other character encodings.

它已成为一个问题多年.我通过实现编码转换的自定义标签用struts解决了它,但它通常很痛苦.

Java 6引入了Properties.load(Writer),它适用于UTF-8,但它似乎尚未被广泛采用.

我建议使用AnyEdit tools转换为unicode表示法.

至于最终用户 – 如果他们要编辑属性文件(这听起来很奇怪),那么你可以让他们用他们喜欢的任何字符写,然后使用native2acii(或它的包装)转换文件

点赞