Spring Res 文件中字符集“ISO-8859-1”不支持的字符

hap*_*ing 3 spring locale spring-mvc spring-boot

我正在尝试在我的 Spring Boot 项目中实现本地化。它在某些语言中工作得很好,例如 Locale.ITALIAN, Locale.GERMAN。的情况下

马拉雅拉姆语、泰米尔语和印地语

得到“???” 在 API 响应中。在这里我分享我的代码和屏幕截图

应用类

@SpringBootApplication
public class JavaI18nSpringBootApplication implements WebMvcConfigurer {

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

    }

    @Bean
    public CharacterEncodingFilter characterEncodingFilter() {
        final CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
        characterEncodingFilter.setEncoding("UTF-8");
        characterEncodingFilter.setForceEncoding(true);
        return characterEncodingFilter;
    }
}
Run Code Online (Sandbox Code Playgroud)

控制器

public class HelloController {

@Autowired
private LocaleResolver localeResolver;

@Autowired
Messages messages;

@Autowired
private HttpServletRequest httpServletRequest;
@Autowired
private HttpServletResponse httpServletResponse;
@GetMapping("/test")
@ResponseBody
public String test() {
    return  messages.get("hello");

}
Run Code Online (Sandbox Code Playgroud)

消息类

    @Component
public class Messages {
    @Autowired
    private MessageSource messageSource;

    private MessageSourceAccessor accessor;

    @PostConstruct
    private void init() {
        Locale l = new Locale("ml", "IN");
        accessor = new MessageSourceAccessor(messageSource, l);
    }

    public String get(String code) {
        return accessor.getMessage(code);
    }

}
Run Code Online (Sandbox Code Playgroud)

应用程序属性

小智 7

如果第一个答案对显示消息没有帮助

在intellij idea中转到:文件->设置->编辑器->文件编码并标记透明本机
在此输入图像描述