您的位置:首页 > 数据库 > MySQL

中文乱码--MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总

2011-06-23 17:23 1636 查看
MySQL5.0中文问题解决方案如下:
    1、在dos环境下,用mysql --default-character-set=gbk -hlocalhost-u root -p 这句话进入mysql
    2、建数据库、表,如下:
        create database admin;
        use admin;
        CREATE TABLE admin (
        admin_name char(20) NOT NULL,
        admin_password char(20) NOT NULL
        ) TYPE=MyISAM,
        default character set gbk;
 
2.将mysql-connector-java-5.0.5-bin.jar这个驱动文件拷贝到%tomcat_home%…/common/lib 目录下面。
 
3.Eclipse中操作数据库时的中文编码问题:
普通的database中的url语句
jdbc:mysql://localhost:3306/course?useUnicode=true&characterEncoding=utf-8
hibernate.cfg.xml中
<property name="connection.url">
   jdbc:mysql://localhost:3306/course?useUnicode=true&characterEncoding=utf-8
  </property>
4.问题:在MySQL中用sql语句插入就可以正常插中文,在JSP中也可以显示中文,可是在JSP往MySQL里插数据的时候数据库中显示的就是???,我甚至尝试重新安装过MySQL,安装的时候选择的也是gb2312,数据库和表我也设置的是gb2312。
问题解决了---我尝试下载了Mysql5.0+mysql-connector-java-5.0.4-bin.jar版本的包,替换以前的版本,其他地方没有做任何改动,结果问题就解决了,我想可能是mysql数据库和直连文件版本不匹配惹的祸。
5.
哈哈 我重建了表后就解决了!我重新建表时指定为gb2312这样就解决了,前几次修改都是用原来的表,而我原来最初建表的时候使用默认方式,后来虽然使用query browser对表的编码方式进行了修改但是还是不管用。这样我得出一个结论:好像是如果建表时不指定编码,在建完表之后在query browser修改编码方式是不管用的。
6.※建表的时候,要选定编码格式,例如utf-8(后改不管用)
  ※url数据库转换时,选定编码格式。
  ※jsp中设定好编码格式,那三行代码都选上
<%@ page pageEncoding="gb2312"%>
<%@ page contentType="text/html;charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
  ※如果要在cmd中取消乱码,就用下面的代码登陆。
mysql --default-character-set=gbk -hlocalhost-u root -p
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐