解决hibernate+mysql中文问题

原创 2007年09月15日 09:57:00

在网上有很多这方面文章,依照上面也解决过,但是修改了mysql的配置文件my.ini.感觉在部署时不是很爽.

这里给出另一种解决方法(mysql-4.1.11).低版本的mysql似乎没出现过中文问题(mysql-4.0.17). :)

1.添加一个过滤器,将字符集编码设为UTF-8.
修改web.xml:

 <filter>
  <filter-name>SetCharacterEncoding</filter-name>
  <filter-class>hxz.filter.SetEncodingFilter</filter-class>
  <init-param>
   <param-name>encoding</param-name>
   <param-value>UTF-8</param-value>
  </init-param>
 </filter>
 
 <filter-mapping>
  <filter-name>SetCharacterEncoding</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

新建一个过滤器:
package hxz.filter;

import java.io.IOException;

import javax.servlet.*;

public class SetEncodingFilter implements Filter {
 
 // default character encoding
 String defaultEncoding = "UTF-8"; 
 
 public void init(FilterConfig config) throws ServletException {
  String encoding = config.getInitParameter("encoding");
  if (encoding != null) {
   defaultEncoding = encoding;
  }
 }

 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
  request.setCharacterEncoding(defaultEncoding);
  chain.doFilter(request, response);
 }

 public void destroy() {
  defaultEncoding = null;
 }

}

2.修改hibernate配置文件:
<property name="url">
  <value>jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8</value>
</property>
注意后面的:useUnicode=true&amp;characterEncoding=UTF-8, 在xml中&要改为;amp;

3.在新版本中mysql建表时,你可以选择一种字符集,将它设为utf-8.
jsp或servlet中把字符集改为UTF-8.

4.trying...

 
版权声明:欢迎加入开源技术 Q 群:242561391,让学习和分享成为一种习惯!

Hibernate+Mysql写数据库的中文乱码问题

最近在学Hibernate框架,按照视频上的测试代码测试的时候,中文字符串写入数据库乱码,百度到好几个解决办法 1:在写配置文件的时候,在url后面加编码要求jdbc:mysql://localho...
  • sinat_33201781
  • sinat_33201781
  • 2016年07月28日 10:11
  • 166

hibernate+mysql的中文写入问题

今天折腾了一天了. 英文版win xp ,时区已设为中国,系统字符集已确认是gbk jdb1.4.2 mysql 4.0.18 + mysql-connector-java-3.0.11-stable...
  • xp9802
  • xp9802
  • 2010年07月22日 13:27
  • 275

hibernate+mysql中文乱码问题

刚学习使用hibernate。jsp页面确定是 utf-8;mysql创建时默认是 utf-8也查了数据库属性,确实是utf-8;问题:传入的中文全部是??,在dao中输出中文的属性,发现还是中文,确...
  • ve7ev
  • ve7ev
  • 2011年06月27日 11:23
  • 399

用 jdom 解析 xml 文件时如何解决中文问题?如何解析?

package test; import java.io.*; public class DOMTest{ private String inFile = "c:\people.xml"; priva...
  • uniquewonderq
  • uniquewonderq
  • 2015年06月10日 15:20
  • 1102

用jdom解析xml文件时如何解决中文问题?如何解析?

用jdom解析xml文件时如何解决中文问题?如何解析?package com.usernet.test;import java.io.*;public class Test13 { private S...
  • gotohbu
  • gotohbu
  • 2009年08月19日 11:05
  • 2288

jsp页面上传图片防止中文乱码问题

背景描述: 1.我在jsp页面使用Smartupload上传图片,在form中enctype="multipart/form-data",method=“post”,jsp页面的编码方式为“utf-...
  • happymatilian
  • happymatilian
  • 2015年06月29日 19:19
  • 1038

下载文件为中文时处理方法

第一种: 设置  response.setHeader("Content-Disposition", "attachment; filename=" + java.net.URLEncoder.enc...
  • aywangchen
  • aywangchen
  • 2015年09月02日 15:51
  • 85

itext 解决中文问题

iText 解决中文问字体问题 显示中文 今天在用itext 生成 PDF 报表的时候里面有中文的,生成PDF报表后中文都不显示,为了解决这个问题,找了很多例子,觉得这个例子讲的最全,现在分享下。...
  • Iamagril
  • Iamagril
  • 2015年06月23日 18:01
  • 692

彻底解决MySQL中文乱码问题

MySQL会出现中文乱码的原因不外乎下列几点: 1.server本身设定问题,例如还停留在latin1 2.table的语系设定问题(包含character与collation) 3.客户端程式...
  • u014022865
  • u014022865
  • 2016年10月03日 00:42
  • 600

(转载) JDOM中文解决方法

用jdom解析xml文件时如何解决中文问题?如何解析? 答:看如下代码,用编码方式加以解决 package test; import java.io.*; public class DOMTest {...
  • huisky
  • huisky
  • 2004年10月07日 10:41
  • 1359
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决hibernate+mysql中文问题
举报原因:
原因补充:

(最多只允许输入30个字)