我使用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”?
答案 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.运行您的应用程序,您就可以看到翻译的内容。