freemarker亂碼解決方案


freemarker生成靜態頁面中文亂碼(固定中文和動態生成的中文都亂碼

  • 現象: 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")

轉自: https://www.cnblogs.com/lishaojun/p/10232448.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM