hibernate mysql 中文_解决hibernate+mysql中文问题

本文介绍了一种不同于常规的解决MySQL数据库中文乱码问题的方法,主要涉及在web.xml中添加字符集过滤器,修改Hibernate配置文件,以及设置MySQL的新版本表的字符集为UTF-8。通过这些步骤,可以确保在部署时避免中文乱码问题。
摘要由CSDN通过智能技术生成

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

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

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

修改web.xml:

SetCharacterEncoding

hxz.filter.SetEncodingFilter

encoding

UTF-8

SetCharacterEncoding

/*

新建一个过滤器:

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配置文件:

jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8

注意后面的:useUnicode=true&characterEncoding=UTF-8, 在xml中&要改为;amp;

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

jsp或servlet中把字符集改为UTF-8.

4.trying...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值