zoukankan      html  css  js  c++  java
  • 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就会出现乱码,反之也一样。

  • 相关阅读:
    八. 输入输出(IO)操作2.面向字符的输入流
    八. 输入输出(IO)操作1.输入输出基本概念
    七. 多线程编程11.线程的挂起、恢复和终止
    七. 多线程编程10.线程死锁
    nginx 配置身份验证 http_auth_basic_module
    liunx mysql 备份
    8080 端口只允许内网访问配置
    nginx 配置白名单
    liunx tomcat 运行模式apr
    liunx contos 7.4 安装redis集群
  • 原文地址:https://www.cnblogs.com/zhousiwei/p/10625903.html
Copyright © 2011-2022 走看看