求救!mysql乱码问题!搞了一天了,还是不行

Doreen
09-04-20 1 216

原来的情况:在JSP页面中输入中文后存在数据库里的都是"?"
做的改进:1)修改my.ini文件:修改2处:default-character-set=gbk
2)修改对应数据库里的db.opt文件:default-character-set=gbk
default-collation=gbk_chinese_ci
3)修改数据库连接:(在XML配置文件里)
jdbc:mysql://localhost:3306/mony3?useUnicode=true&characterEncoding=gbk
4)JSP页面加入:<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
5)加过滤器,设置GBK编码:request.setCharacterEncoding("gbk");
response.setCharacterEncoding("gbk");
6)在控制台运行:SET character_set_client = gbk;
SET character_set_connection = gbk;
SET character_set_database = gbk;
SET character_set_results = gbk;
SET character_set_server = gbk;
SET collation_connection = gbk_bin;
SET collation_database = gbk_bin;
SET collation_server = gbk_bin;
7)重建了数据库.
总之:我在网上搜了很多资料,把能试的方法都试了,结果是:
1)可以在数据库打开表直接输入中文,可以保存,没问题
2)在JSP页面输英文是没问题,到数据库里也一样
3)但是在JSP页面输中文会抛异常:
Data too long for column 'user_name' at row 1
而且在数据库里也没有存入数据!
大概就是这样了,搞了一天,问题还没解决,希望高手指点啊!
(PS:或许问题有点笨,但我实在是没办法了才来这里发贴,希望得到大家的帮助,谢谢!)




Doreen
2009-04-20 18:21

自己解决了