我們在Spring webapp中使用JTwig模板引擎。這是一款出色的工具,並且具有非常好的功能,但是我們用UTF-8編碼unicode內容。使用JTwig模板的Spring webapp中的UTF-8編碼問題
首先,ViewResolver
在Java中配置有:
@Bean
public ViewResolver viewResolver() {
JtwigViewResolver view = new JtwigViewResolver()
view.setPrefix("/WEB-INF/templates/");
view.setSuffix(".twig");
return view;
}
那麼我們有Spring MVC的控制器添加一些文字模型,並將其傳遞給視圖:
@RequestMapping(value = "/unicode", produces = "text/html;charset=UTF-8")
public String testUnicode(ModelMap model) {
model.addAttribute("text", "tête de bou 간편한 설치 및 사용");
return "testPage";
}
在那裏它終於呈現:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>
<body>
<h1>tête de bouton -- 간편한 설치 및 사용</h1>
From model: {{ text }}
</body>
</html>
但輸出實際上是:
têtede bouton - 간편한설 ?使用方法
從型號:t?te de bou ??? ?? ? ??
在模板中硬編碼的Unicode文本幾乎是正確的,但模型中的一個完全擰緊。有任何想法嗎?