【发布时间】:2015-03-22 15:59:13
【问题描述】:
¿有什么问题?
我无法以 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;
}
}
如果您需要有关我的配置的更多信息,我可以对其进行编辑。 谢谢。
【问题讨论】:
-
能否请您包含您的 servlet 配置?
-
您的
messages.properties文件也必须在UTF-8中创建。 -
@Artem Bilan 我该怎么做?
-
使用一些支持编码切换的编辑器。或者使用
properties文件的编码选项从IDE 创建该文件。例如。想法:blog.jetbrains.com/idea/2013/03/… -
@ArtemBilan 谢谢你的帮助,我有同样的问题 message.properties 但我使用了 IDE Eclipse。所以我单击文件中的单击右键,然后转到属性。当打开窗口时,我看到了 文本文件编码,我更改为 UTF-8 并工作了!!