Java Spring属性文件

Java Spring属性文件,java,spring,Java,Spring,您好,我们使用spring框架开发了这个j2ee web应用程序。我在属性文件中以nihongo字符呈现MNessage时遇到问题。我尝试使用native2ascii将文件转换为ascii,它解决了我的问题。没有其他方法可以通过在配置文件中将编码设置为ascii来转换文件,而不是通过在命令提示符下执行native2ascii手动转换文件。在必须使用ascii的属性文件和资源包中执行AfAIK。在SpringXML配置文件中,Unicode应该可以正常工作。如果您愿意,您可以使用Unicode编辑

您好,我们使用spring框架开发了这个j2ee web应用程序。我在属性文件中以nihongo字符呈现MNessage时遇到问题。我尝试使用native2ascii将文件转换为ascii,它解决了我的问题。没有其他方法可以通过在配置文件中将编码设置为ascii来转换文件,而不是通过在命令提示符下执行native2ascii手动转换文件。在必须使用ascii的属性文件和资源包中执行AfAIK。在SpringXML配置文件中,Unicode应该可以正常工作。如果您愿意,您可以使用Unicode编辑属性文件,并在构建过程中自动运行native2ascii(在Ant、Maven等中)。

嘿,我在谷歌上搜索了同样的问题,发现了一些用德语编写的东西,对我有帮助:

根据API文档:

load(Reader)/store(Writer,String)方法以下面指定的简单的面向行格式从基于字符的流中加载和存储属性。load(InputStream)/store(OutputStream,String)方法的工作方式与load(Reader)/store(Writer,String)对相同,除了输入/输出流采用ISO 8859-1字符编码之外。在这种编码中不能直接表示的字符可以使用Unicode转义码写入;转义序列中只允许一个“u”字符。native2ascii工具可用于在其他字符编码之间转换属性文件

(请注意,与许多人在这里错误地谈论的内容不同)

因此,要解决特定问题而不需要使用
native2ascii
,则应使用

请注意,这个方法是4年前在Java1.6中引入的。确保您也在使用它


我不使用Spring,所以我无法详细说明如何让Spring以这种方式工作,但很明显,您需要覆盖/替换Spring的资源包管理器(如果有的话)。

属性文件是用utf8编码的吗?如果没有,那是什么意思?你说的内置SpringXML配置unicode工作正常是什么意思?顺便说一下,我的Spring配置编码过滤器org.springframework.web.filter.CharacterEncodingFilter编码UTF-8编码方案UTF-8中也有这一行    forceEncoding true您没有说这些消息的确切用途。如果它们与您作为Springbean创建的某种属性对象相关联,那么您可以将UTF-8文本作为字符串属性值放在beans.xml(或任何文件)文件中,只要您使用正确的?xml声明标记该文件。但是对于.properties文件,我认为您必须使用native2ascii.1。链接断了。2.你应该将该链接的重要信息复制到你的答案中,这样信息就不会随链接一起消失。。。
Properties properties = new Properties();
properties.load(new InputStreamReader(classLoader.getResourceAsStream("file.properties"), "UTF-8"));