首页 > 解决方案 > Spring Boot thymeleaf 无法解析阿拉伯语消息

问题描述

我正在尝试创建一个 Spring Boot 2.2.4 thymeleaf 双语应用程序(法语和阿拉伯语),这是我使用的配置,问题是当我切换到阿拉伯语时,我得到这个'?????? ?????'。我尝试了很多字符编码,但没有任何效果。

@Configuration
@EnableWebMvc
@ComponentScan
public class ThymeleafConfiguration implements WebMvcConfigurer {
    @Bean
    public SpringTemplateEngine templateEngine() {
        SpringTemplateEngine templateEngine = new SpringTemplateEngine();
        templateEngine.setTemplateResolver(thymeleafTemplateResolver());
        return templateEngine;
    }

    @Bean
    public SpringResourceTemplateResolver thymeleafTemplateResolver() {
        SpringResourceTemplateResolver templateResolver
                = new SpringResourceTemplateResolver();
        templateResolver.setPrefix("/WEB-INF/classes/templates/");
        templateResolver.setSuffix(".html");
        templateResolver.setTemplateMode("HTML5");
        templateResolver.setCharacterEncoding("UTF-8");
        templateResolver.setCacheable(false);

        return templateResolver;
    }

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

编辑:关闭并重新打开项目后,我注意到messages_ar.properties 中的阿拉伯语内容被转换为'???????? ????'

标签: springspring-bootthymeleaf

解决方案


当我注意到每次重新打开项目后文件都转换为无法识别的字符时,我开始挖掘,发现是关于文件编码的,所以我更改了它并且它工作了。

https://blog.jetbrains.com/idea/2013/03/use-the-utf-8-luke-file-encodings-in-intellij-idea/


推荐阅读