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

时间:2022-09-22 18:48:08

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中也可以显示中文,可是在JSPMySQL里插数据的时候数据库中显示的就是???,我甚至尝试重新安装过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