freemarker 中文乱码问题解决办法

解决办法一:通过修改配置文件freemarker.properties,修改默认编码:

locale=zh_CN
default_encoding=gbk
number_format=#
date_format=yyyy-MM-dd
time_format=HH:mm:Ss
datetime_format=yyyy-MM-dd HH:mm:Ss

还有1个办法 在contentType里设置value为text/html;charset=UTF-8"

<!-- FreeMarker视图解析器 -->
<bean id="viewResolver"
    class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
    <property name="contentType" value="text/html;charset=UTF-8" />
    <property name="cache" value="false" />
    <property name="viewNames" value="*.ftl" />
    <property name="suffix" value="" />
    <property name="order" value="2" />
</bean>

解决办法二:通过spring或其他第三方工具配置:

<bean id="freemakerCongfig"
    class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
       <property name="templateLoaderPath">
       <value>/WEB-INF/web/</value>
       </property>
       <property name="freemarkerSettings">
       <props>
       <prop key="defaultEncoding">gbk</prop>
       </props>
       </property>
    </bean>

org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer在spring-webmvc.jar 包里面,项目要导入这个jar包才可以,或者会找不到类。

另外,页面编码和charset要跟上面配置的一致才可以,<meta http-equiv="Content-type" content="text/html; charset=gbk">

注意:还有一种常见的导致乱码问题:编辑器或文件保存的编码和页面设置的编码不一致会导致乱码,

例如文件的编码(用记事本打开,另存为可以看到文件的编码)为UTF-8而页面的charset=gbk就会出现乱码,反之也一样。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏安恒信息

Spring Framework 5月多个安全漏洞预警

2018年5月9日,Pivotal发布了Spring Framework存在多个安全漏洞的公告:

1252
来自专栏云计算教程系列

如何在Ubuntu上安装Jenkins

Jenkins是一个开源自动化服务器,旨在自动执行持续集成和交付软件所涉及的重复技术任务。Jenkins是基于Java开发,可以从Ubuntu软件包安装,也可以...

1831
来自专栏developerHaoz 的安卓之旅

Android 解锁 Gradle 依赖新姿势

相信现在大部分人都在使用 Gradle 来进行依赖管理,不得不说,Gradle 真的相当简洁、好用,举个例子,如果我们想依赖 okhttp,直接

1054
来自专栏大魏分享(微信公众号:david-share)

白话说JPA | 从开发角度看应用架构8

http://www.blogjava.net/jesson2005/articles/380880.html

1494
来自专栏JavaQ

Java研发方向如何准备BAT技术面试答案(中)

抱歉来晚了!由于最近事比较多,拖了一段时间,答案本想自己写的,但是时间不允许,挤时间整理了部分答案,后面我会继续更新,谢谢关注。 51.servlet生命周期及...

3236
来自专栏流媒体人生

ffmpeg for wince存在的问题总结

./configure \ --enable-memalign-hack \ --target-os=mingw32ce \ --arch=arm \ ...

711
来自专栏zhisheng

Java研发方向如何准备BAT技术面试答案(中)

JavaEE: 1.servlet生命周期及各个方法 参考文章 http://www.cnblogs.com/xuekyo/archive/2013/02/2...

42213
来自专栏码匠的流水账

docker运行kafka manager

192.178.99.100:9000,然后添加cluster即可,其中zk地址填写zookeeper:2181

5542
来自专栏极客慕白的成长之路

在Mac下配置PHP开发环境:Apache+php+MySql

<span class="pln">sudo apachectl start</span>

1143
来自专栏nimomeng的自我进阶

Error handling官方文档

913

扫码关注云+社区

领取腾讯云代金券