Spring Boot国际化仅适用于法语,但不适用于韩语

时间:2018-11-19 01:05:08

标签: spring spring-mvc spring-boot utf-8 spring-internationalization

我有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 Boot会破坏韩国字符而不是法语?

我正在使用AcceptHeaderLocaleResolver

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

我正在使用Spring Messages和JSP来打印国际化的文本。

<spring:message code="title"/>

1 个答案:

答案 0 :(得分:1)

我看到服务器响应标头是

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

我添加了

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

到页面顶部,然后开始工作。