freemarker生成静态页面中文乱码(固定中文和动态生成的中文都乱码)

杀马特。学长 韩版系。学妹 提交于 2020-04-27 02:24:22
  • 现象: freemarker生成静态页面中文乱码(固定中文和动态生成的中文都乱码)
  • 检查:

1,FreeMarkerConfigurer已经初始化, 设置属性UTF-8

<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>

2,模版文件ftl文件已经设置头信息, 编码格式为UTF-8

<head>
    <meta charset="utf-8"/>

3,使用记事本查看网页不乱码;

4,使用IE浏览器切换成GB2312编码, 显示正常

  • 原因: 由于前期使用maven控制台中文乱码, 在idea中设置了maven的命令-Dfile.encoding=GB2312

  • 解决方案1: 删掉idea中maven的设置-Dfile.encoding=GB2312

  • 解决方案2: 创建流对象时设置字符集: 

Write out = new OutputStreamWriter(new FileOutputStream(new File(filePath)),"UTF-8")

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!