spring - Spring Boot 国际化适用于法语但不适用于韩语
问题描述
我有messages_ko.properties
文件,我将浏览器设置为韩语。它使用消息文件加载页面,但国际化文本都是问号。
????? ...
它在 Eclipse 编辑器中看起来像韩语。文件编辑器设置为 UTF-8。我的谷歌浏览器可以显示韩文。整个页面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"/>
解决方案
我看到服务器响应标头是
Content-Type: text/html;charset=ISO-8859-1
我添加了
<%@ page contentType="text/html;charset=UTF-8" %>
到页面顶部,然后它起作用了。
推荐阅读
- python - 自定义 keras 损失
- reactjs - 显示通过 API 返回的错误 - React Final Form
- c# - C# WPF 绑定 - 组合框选择项到列表框?
- python - 我将数据分成测试集和训练集,错误是“找到样本数量不一致的输入变量:[1000, 23486]”
- html - 从网页单击到 GitHub 存储库
- python-3.x - 使用谷歌云作曲家问题读取 CSV 并加载到 gcp 存储桶中
- mysql - FOR 功能导致兼容性问题 寻找 FOR 功能的替代品
- javascript - 在 MS Word 插件 Javascript API 中读取表格边框的颜色和宽度
- c - Brainfuck解释器没有运行一些代码
- tensorflow - TensorFlow Dataset 的函数 cache() 和 prefetch() 有什么作用?