zoukankan      html  css  js  c++  java
  • Hibernate+mysql 中文问题解决方案.

    1, mysql安装时设置字符集utf-8, jdbc驱动3.0.15以上.
    2. hibernate配置文件中,加上属性
    <property name="connection.useUnicode">true</property>
    <property name="connection.characterEncoding">UTF-8</property>

    3. web.xml设置Filter
    =================================================
    <filter>
      <filter-name>
       Set Web Application Character Encoding
      </filter-name>
      <filter-class>cn.com.commnet.util.SetEncodeFilter</filter-class>
      <init-param>
       <param-name>defaultencoding</param-name>
       <param-value>UTF-8</param-value>
      </init-param>
    </filter>
    <filter-mapping>
      <filter-name>
       Set Web Application Character Encoding
      </filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>

    =============================================
    SetEncodeFilter.java
    public class SetEncodeFilter implements Filter {
        protected FilterConfig filterConfig = null;
        protected String defaultEncoding = null;
        /* (non-Javadoc)
         * @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
         */
        public void init(FilterConfig arg0) throws ServletException {
            // TODO Auto-generated method stub
            this.filterConfig = arg0;
            this.defaultEncoding = filterConfig.getInitParameter("defaultencoding");
        }
        /* (non-Javadoc)
         * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
         */
        public void doFilter(
            ServletRequest request,
            ServletResponse response,
            FilterChain chain)
            throws IOException, ServletException {
            // TODO Auto-generated method stub
            request.setCharacterEncoding(selectEncoding(request));
            chain.doFilter(request, response);
        }
        public void destroy() {
            this.defaultEncoding = null;
            this.filterConfig = null;
        }
        protected String selectEncoding(ServletRequest request) {
            return this.defaultEncoding;
        }
    }

    另需注意的是数据库, 表, 字段的字符集是否也正确!
    alert database DBNAME character set=utf8

    http://www.cnblogs.com/josson/archive/2005/03/16/119619.html

  • 相关阅读:
    python之isinstance和issubclass
    python中类的继承
    python中面向对象
    python中常用的内置模块
    Python常用模块
    python中的常用内置模块
    python中的包、模块及导入
    python中的内置函数(二)
    国内7大核心期刊
    PS学习列表
  • 原文地址:https://www.cnblogs.com/zqonline/p/1332502.html
Copyright © 2011-2022 走看看