FreeMarker编码混乱 [英] FreeMarker encoding confusion

查看:95
本文介绍了FreeMarker编码混乱的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我用FreeMarker读取UTF-8编码的模板时,特殊字符会在浏览器中正确呈现,尽管 freeMarkerConfig.getDefaultEncoding()返回 Cp1252。如果我设置 freeMarkerConfig.setDefaultEncoding( UTF-8),尽管模板文件的实际编码是 UTF-8,但我在浏览器中仅看到问号。 。在每种情况下,都会发送HTTP标头 Content-Type:text / html; charset = UTF-8。

When I read an UTF-8 encoded template with FreeMarker, special chars are rendered correctly in the browser, although freeMarkerConfig.getDefaultEncoding() returns "Cp1252". If I set freeMarkerConfig.setDefaultEncoding("UTF-8"), I see only question marks in the browser, although "UTF-8" is the actual encoding of the template file. In every case the http header "Content-Type: text/html; charset=UTF-8" is sent.

任何想法都错了吗?

推荐答案

在FreeMarkerViewResolver中设置内容类型属性。

Set the content type property into the FreeMarkerViewResolver.

@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;
}

这篇关于FreeMarker编码混乱的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆