| Blog信息 |
|
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7649196 建立时间:2006年5月29日 |

| |
|
[Hibernate]Hibernate3+mysql4 中文问题解决方案. 软件技术
lhwork 发表于 2006/9/18 9:57:24 |
| 1, mysql安装时设置字符集utf-8(包括数据库字符集,以及表的字符集), jdbc驱动用最新的 2. hibernate配置文件(hibernate.cfg.xml)中,加上属性 <property name="connection.useUnicode">true</property> <property name="connection.characterEncoding">UTF-8</property> 3. web.xml设置Filter ================================================= 500)this.width=500'><filter>500)this.width=500'> <filter-name>500)this.width=500'> Set Web Application Character Encoding 500)this.width=500'> </filter-name>500)this.width=500'> <filter-class>com.util.SetEncodeFilter</filter-class>500)this.width=500'> <init-param>500)this.width=500'> <param-name>defaultencoding</param-name>500)this.width=500'> <param-value>UTF-8</param-value>500)this.width=500'> </init-param>500)this.width=500'> </filter>500)this.width=500'> <filter-mapping>500)this.width=500'> <filter-name>500)this.width=500'> Set Web Application Character Encoding 500)this.width=500'> </filter-name>500)this.width=500'> <url-pattern>/*</url-pattern>500)this.width=500'> </filter-mapping>============================================= SetEncodeFilter.java 1500)this.width=500'>package com.util; 2500)this.width=500'> 3500)this.width=500'>import java.io.IOException; 4500)this.width=500'> 5500)this.width=500'>import javax.servlet.Filter; 6500)this.width=500'>import javax.servlet.FilterChain; 7500)this.width=500'>import javax.servlet.FilterConfig; 8500)this.width=500'>import javax.servlet.ServletException; 9500)this.width=500'>import javax.servlet.ServletRequest;10500)this.width=500'>import javax.servlet.ServletResponse;11500)this.width=500'>12500)this.width=500'>500)this.width=500'>public class SetEncodeFilter implements Filter 500)this.width=500'>{ 13500)this.width=500'> 14500)this.width=500'> protected FilterConfig filterConfig = null; 15500)this.width=500'> 16500)this.width=500'> protected String defaultEncoding = null; 17500)this.width=500'> 18500)this.width=500'>500)this.width=500'> /** *//**//* (non-Javadoc) 19500)this.width=500'> * @see javax.servlet.Filter#init(javax.servlet.FilterConfig) 20500)this.width=500'> */ 21500)this.width=500'>500)this.width=500'> public void init(FilterConfig arg0) throws ServletException 500)this.width=500'>{ 22500)this.width=500'> // TODO Auto-generated method stub 23500)this.width=500'> this.filterConfig = arg0; 24500)this.width=500'> this.defaultEncoding = filterConfig.getInitParameter("defaultencoding"); 25500)this.width=500'> } 26500)this.width=500'> 27500)this.width=500'>500)this.width=500'> /** *//**//* (non-Javadoc) 28500)this.width=500'> * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) 29500)this.width=500'> */ 30500)this.width=500'> public void doFilter( 31500)this.width=500'> ServletRequest request, 32500)this.width=500'> ServletResponse response, 33500)this.width=500'> FilterChain chain) 34500)this.width=500'>500)this.width=500'> throws IOException, ServletException 500)this.width=500'>{ 35500)this.width=500'> // TODO Auto-generated method stub 36500)this.width=500'> request.setCharacterEncoding(selectEncoding(request)); 37500)this.width=500'> chain.doFilter(request, response); 38500)this.width=500'> } 39500)this.width=500'> 40500)this.width=500'> 41500)this.width=500'>500)this.width=500'> public void destroy() 500)this.width=500'>{ 42500)this.width=500'> 43500)this.width=500'> this.defaultEncoding = null; 44500)this.width=500'> this.filterConfig = null; 45500)this.width=500'> } 46500)this.width=500'> 47500)this.width=500'> 48500)this.width=500'>500)this.width=500'> protected String selectEncoding(ServletRequest request) 500)this.width=500'>{ 49500)this.width=500'> 50500)this.width=500'> return this.defaultEncoding; 51500)this.width=500'> } 52500)this.width=500'> 53500)this.width=500'>} 4.提交表单的jsp页面设置<%@ page language="java" contentType="text/html; charset=UTF-8"%> |
|
|