【问题标题】:Spring mvc -Properties file encodingSpring mvc - 属性文件编码
【发布时间】:2016-09-23 18:15:45
【问题描述】:

我在 Spring MVC 的属性文件中读取某些字符时遇到问题。

我知道属性文件是用 ISO-8859-1 编码的,所以我将我的 messageSource bean 设置为将默认编码设置为 UTF-8

@Bean
    public MessageSource messageSource() {
        ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
        messageSource.setBasename("messages");
        messageSource.setDefaultEncoding("UTF-8");
        return messageSource;
    }

在此修改之前,例如我看到à字符为�,在à变成之后? em>

我也尝试过使用ReloadedResourceBundleMessageSource,但没有效果

我怎样才能只显示à

【问题讨论】:

    标签: java spring-mvc


    【解决方案1】:

    javadoc 声明如下:

    这种编码不能直接表示的字符可以 使用 The Java™ 第 3.3 节中定义的 Unicode 转义符编写 语言规范;在 转义序列。 native2ascii 工具可用于转换属性 与其他字符编码之间的文件。 来源here

    当我使用 ISO-8859-1 编码(例如:number=N\u00famero)时,我一直在使用这种方法,但现在我使用 ReloadedResourceBundleMessageSource 就像你描述的那样,它可以完美地工作,据我所知你属性文件也应该使用 UTF-8 编码,您可以尝试使用 native2ascii 对文件进行编码,如下例所示:

    native2ascii -encoding UTF-8 file1.properties file2.properties
    

    【讨论】:

      猜你喜欢
      • 2013-05-29
      • 2012-07-23
      • 2015-04-19
      • 2015-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多