Интернационализация Spring Boot работает на французском, а не на корейском - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть файл messages_ko.properties, и я установил в браузере корейский язык.Он загружает страницу, используя файл сообщений, но интернационализированный текст - это все знаки вопроса.

????? ...

В редакторе Eclipse он выглядит как корейский.Редактор файлов установлен в UTF-8.Мой Google Chrome может отображать корейский.Вся эта страница http://www.hyundaigroup.com/ на корейском языке.Я использовал

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

И интернационализированный текст по-прежнему в основном состоит из вопросительных знаков.Я открыл файл messages_ko.properties в Notepad ++, и он показывает корейский язык и что он закодирован в 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 голосов
/ 19 ноября 2018

Я видел, что заголовок ответа сервера был

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

Я добавил

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

В начало страницы, а потом все заработало.

...