Spring Boot - UTF-8 在 messages.properties 中不起作用

标签 spring utf-8 thymeleaf

¿有什么问题?

我无法以 UTF-8 格式显示我在 messages.properties 中收到的消息。

一个例子

<h1 id="logo">Electrónico</h1>

这没问题,但是当我尝试像这样使用我的消息源时

<h1 id="logo" th:text="#{titulo.electronico}">Electrónico</h1>

我得到的是“Electr�nico”而不是 Electrónico

这是我的配置

application.properties

spring.messages.encoding=UTF-8
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8

pom.xml

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <start-class>demo.Demo</start-class>
    <java.version>1.7</java.version>
</properties>

演示课

@SpringBootApplication
public class Demo {

    public static void main(String[] args) {
        SpringApplication.run(Demo.class, args);
    }
}

ServletInitializer.class

@Configuration
public class ServletInitializer extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Demo.class);
    }

    @Bean
    public ServletRegistrationBean h2servletRegistration() {
        ServletRegistrationBean registration = new ServletRegistrationBean(new WebServlet());
        registration.addUrlMappings("/console/*");
        return registration;
    }

    @Bean
    @Order(Ordered.HIGHEST_PRECEDENCE)
    CharacterEncodingFilter characterEncodingFilter() {
      CharacterEncodingFilter filter = new CharacterEncodingFilter();
      filter.setEncoding("UTF-8");
      filter.setForceEncoding(true);
      return filter;
    }
}

如果您需要有关我的配置的更多信息,我可以对其进行编辑。 谢谢。

最佳答案

要读取 UTF-8 编码的任何文件,必须先在 UTF-8 中创建它。

使用一些支持编码切换的编辑器。或者使用属性文件的编码选项从 IDE 创建该文件。例如。想法:http://blog.jetbrains.com/idea/2013/03/use-the-utf-8-luke-file-encodings-in-intellij-idea/

关于Spring Boot - UTF-8 在 messages.properties 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28112852/

相关文章:

java - 如何对 spring datetimeformat 验证进行单元测试

java - Spring 有 ORM,还是只使用 ORM 框架?

java - 从 messageSource 读取 unicode 给 Java 5 带来了问题

php - 使用 Oracle、PHP 和 Oci8 处理 eacute 和其他特殊字符

java - 如何将选定的 <option> 元素的 id 分配给另一个变量以进行进一步处理? thymeleaf

thymeleaf - 使用 thymeleaf 直接渲染 View 片段

java - xml DSL 中的 Camel 谓词示例

java - 如何抑制 PMD 中的违规行为?

java - com.sun.mail.smtp.SMTPAddressFailedException

spring - 内容类型 'text/plain;charset=UTF-8' 在 RestController 类中的 Spring Boot 中不支持错误