freemarker生成静态页面出现乱码

使用模板生成静态网页乱码了

  • 乱码之前配置如下
  • 尝试方法一
  • 尝试方法二
  • 最后

乱码之前配置如下

1.模板文件中头信息以设置设置编码格式

<meta charset="utf-8" />

2.FreeMarker配置文件已指定模板编码格式

<bean id="freemarkerConfig"	class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
       <property name="templateLoaderPath" value="/WEB-INF/ftl/" />
       <property name="defaultEncoding" value="UTF-8" />
</bean>

3.使用notepad++打开不乱码,且发现显示编码为gbk

尝试方法一

将输出流改为转换流

// Writer out = new FileWriter(page+name+".html");

Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(page + name + ".html")),"utf-8"));

尝试方法二

在IDEA中做如下更改
开发软件为IDEA,版本为IntelliJ IDEA 2017.3.4 (Ultimate Edition) 界面如下:freemarker生成静态页面出现乱码_第1张图片
去掉-Dfile.encoding=GB2312
输出流用如下代码就可以实现不乱码

Writer out = new FileWriter(page+name+".html");

最后

发现方法一、二都可以解决乱码问题

你可能感兴趣的:(Java)