Spring 引导国际化适用于法文但不适用于韩文

Spring Boot internationalization works for French but not Korean

我有 messages_ko.properties 文件,我将浏览器设置为韩语。它使用消息文件加载页面,但国际化文本都是问号。

????? ...

在 Eclipse 编辑器中看起来像韩语。文件编辑器设置为 UTF-8。我的 Google Chrome 可以显示韩语。整个页面 http://www.hyundaigroup.com/ 都是韩文。我用了

curl -H "Accept-Language: ko" localhost:8080/page 

而且国际化的文字大部分还是问号。我在 Notepad++ 中打开了 messages_ko.properties 文件,它显示韩文并且它是用 UTF-8 编码的。

当我将浏览器设置为法语时它工作正常。非英语字符 (Intéressé) 显示正常。 HTML 被标记为 UTF-8。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">

那么为什么 Spring 引导会处理韩文字符而不是法文字符?

我正在使用 AcceptHeaderLocaleResolver

@Bean
public LocaleResolver localeResolver() {
    AcceptHeaderLocaleResolver ahlr = new AcceptHeaderLocaleResolver();
    ahlr.setDefaultLocale(Locale.ENGLISH);
    return ahlr;
}

我正在使用 Spring 消息和 JSP 打印国际化文本。

<spring:message code="title"/>

我看到服务器响应 header 是

Content-Type: text/html;charset=ISO-8859-1

我加了

<%@ page contentType="text/html;charset=UTF-8" %>

到页面顶部然后它起作用了。