当我使用 FreeMarker 读取 UTF-8 编码模板时,特殊字符在浏览器中正确呈现,尽管freeMarkerConfig.getDefaultEncoding()
返回“Cp1252”。如果我设置freeMarkerConfig.setDefaultEncoding("UTF-8")
,我在浏览器中只看到问号,尽管“UTF-8”是模板文件的实际编码。在每种情况下,都会发送 http 标头“Content-Type: text/html; charset=UTF-8”。
知道出了什么问题吗?
将内容类型属性设置到 FreeMarkerViewResolver 中。
Spring 4.2 示例
@Bean
public FreeMarkerViewResolver freemarkerViewResolver() {
FreeMarkerViewResolver resolver = new FreeMarkerViewResolver();
resolver.setContentType("text/html; charset=utf-8");
resolver.setCache(true);
resolver.setPrefix("");
resolver.setSuffix(".ftl.html");
resolver.setRequestContextAttribute("rc");
return resolver;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)