1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 解决freemarker生成的静态文件中文乱码的问题

解决freemarker生成的静态文件中文乱码的问题

时间:2020-07-07 06:08:49

相关推荐

解决freemarker生成的静态文件中文乱码的问题

如果想实现效果,以下几个位置都需要去保证成功设置

1、系统设置编码方式均为utf-8

2、web.xml中设置模板的默认编码为utf-8

<servlet><servlet-name>freemarker</servlet-name><servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class><init-param><!--模板路径--><param-name>TemplatePath</param-name><!--默认在webapp目录下查找对应的模板文件--><param-value>/</param-value></init-param><!--********模板的默认编码:UTF-8,必须设置************--><init-param><param-name>default_encoding</param-name><param-value>UTF-8</param-value></init-param><!--********模板的默认编码:UTF-8,必须设置************--></servlet><servlet-mapping><servlet-name>freemarker</servlet-name><url-pattern>*.ftl</url-pattern></servlet-mapping>

3、freemaker模板中设置utf-8编码方式

<head><#--freemaker模板中设置编码格式,否则出现中文乱码问题,必须设置--><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>

4、servlet中设置模板编码方式为utf-8

configuration.setDefaultEncoding("UTF-8");

5、设置文件输出流为utf-8

Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8"));

对于“5、设置文件输出流为utf-8”,我要简单说明一下,之前我获取文件输出流使用的代码是:FileWriter writer = new FileWriter(file);,结果还是乱码,使用了上面的方式之后没有乱码了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。