FreeMarker中文乱码的问题。

FreeMarker中文乱码的问题。

 

先说下问题:

模板文件ftl编码方式是UTF-8,数据库是UTF-8,读出来数据正常,但是就是在模板里面的中文不正常,而且添加了MATA标签,

看了下代码:

Template template = cfg.getTemplate("index.ftl");
resp.setContentType("text/html; charset=" + template.getEncoding());
System.out.println("HHHHHHHHHH"+template.getEncoding());
//这里输出的总是GB18030

并且之前试图设置下面这样未果。

template.setEncoding("UTF-8");

解决办法:

cfg = new Configuration();
        cfg.setServletContextForTemplateLoading(getServletContext(), "template");
        cfg.setEncoding(Locale.CHINA, "UTF-8");
//此处设置,这个应该是在 cfg.getTemplate("index.ftl"); 读取模板的时候采用的编码。而template.setEncoding("UTF-8");应该是读取完了,所以

//设置也不管用。

参考自:https://www.cnblogs.com/pochonlee/archive/2010/01/08/1637818.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值