解决MySQL数据库乱码问题

在mysql数据库中,默认使用的是latin字符集,所以无法正常的支持中文字符,中文在数据库中显示为乱码“?”号。为了让mysql可以正常使用中文,尤其是当使用jsp连接mysql的时候,我们需要使用gbk的字符集,因此我们要对mysql进行以下设置,以便其有效的支持中文:

1.修改my.cnf/my.ini配置文件,

default-character-set = gbk

修改结束以后,保存. 然后使用客户端登录

bin>mysql -u root -p

Enter password:******

mysql>status;

显示的数据中如果出现:

Server characterset: gbk

Db characterset: gbk

Client characterset: gbk

Conn. characterset: gbk

则表示修改成功。

2.建立库表时指定gbk字符集在建立库表的时候我们需要指定gbk字符集

建立数据库:

CREATE DATABASE dbname DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci

建立数据表:
Create table tablename(id int(10) unsigned NOT NULL AUTO_INCREMENT,name varchar(15) NOT NULL default '',PRIMARY KEY (id)) TYPE=MyISAM DEFAULT CHARACTER SET gbk

建立好以后,在客户端中使用:

>show cereate table tablename;如果最后一行显示gbk,则表示成功

3.修改jdbc驱动jsp连接mysql需要使用jdbc驱动,在使用的时候,我们需要设置好字符集

String user="root";

String password="123456";

String url="jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=gbk"

Class.forNname("com.mysql.jdbc.Driver");//装载驱动类;

Connection con=DriverManager.getConnection(url,user,password);//取得连接其中dbname为你数据库的名字,url中的gbk即为使用的字符集

做好以上三步以后,mysql就可以支持gbk中文了。当然也可以统一设置为utf8同样支持中文。

你可能感兴趣的:(数据库,jsp,mysql,jdbc,String,character)