Thymeleaf编码问题

时间:2017-03-18 13:22:28

标签: spring-boot utf-8 thymeleaf

我使用Thymeleaf 3.0.3和Spring Boot 1.5.1以及STS Bundle 3.8.1。我的匈牙利语非ASCII字符未正确显示。 我在application.properties文件中有以下配置:

spring.thymeleaf.cache=false
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=utf-8

无论如何这些都是默认值,但我想确保我的Thymeleaf配置正确。

我的网页字符集也是utf-8,我的文本编辑器也在Eclipse中。那么,如果我看到“ r l k,hogy jraitt vagy Roland”而不是预期的话会怎么样:“Örülök,hogyújraitt vagy Roland”?

2 个答案:

答案 0 :(得分:0)

您需要在viewResolver中设置编码

@Bean
public ThymeleafViewResolver  thymeleafViewResolver(){
    ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
    viewResolver.setTemplateEngine(templateEngine());
    viewResolver.setCharacterEncoding("UTF-8");
    return viewResolver;
}

答案 1 :(得分:0)

我有同样的问题。我找到了对我有用的解决方案:

您需要在没有BOM的情况下将文件另存为UTF-8中的Encode。这个对我有用。 脚步: 1.在notepad ++中编辑文件,然后在另一个文件中保留这些内容的副本。 2.转到菜单编码,然后选择不带BOM的UTF-8编码。 3.如果文件显示一些字符,例如xE9等,则将原始内容复制到文件中并保存。 4.关闭并重新打开文件,并检查编码是否与“在没有BOM的UTF-8中编码”相同。  如果在AnsII中将编码默认设置为Encode,则意味着您只有几个字符,例如“ xE9”,并且没有BOM时文件没有保存为UTF-8中的Encode。 5.如果编码仍然为“在没有BOM的情况下以UTF-8编码”。 6.运行您的应用程序,您就可以看到翻译的内容。

http://forum.thymeleaf.org/UTF-8-encoding-problem-using-messages-properties-in-Spring-Boot-with-Thymeleaf-td4030339.html