解决mysql 显示中文乱码问题

时间:2021-08-06 11:00:10

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

1.修改my.cnf文件 my.cnf文件是mysql的配置文件,我们可以从mysql的安装目录根据其自带模板来 建立 #cp/usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf #vi/etc/my.cnf 在此文件中相应位置加入 default-character-set = gbk######################## [client] default-character-set = gbk[mysqld] default-character-set = gbk #########################修改结束以后,保存,然后使用客户端登录 #mysql -u root -p 在客户端中输入>status; 显示的数据中如果出现: Server characterset: gbk Dbcharacterset: gbk Client characterset: gbk Conn. characterset: gbk则表示修改成功。

2.建立库表时指定gbk字符集在建立库表的时候我们需要指定gbk字符集建立数据库: CREATE DATABASE dbnameDEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci 建立数据表 Create tabletablename( id int(10) unsigned NOT NULL AUTO_INCREMENT, namevarchar(15) NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAMDEFAULT CHARACTER SET gbk 建立好以后,在客户端中使用: >showcereate table tablename; 如果最后一行显示gbk,则表示成功

3.修改jdbc驱动 jsp连接mysql需要使用jdbc驱动,在使用的时候,我们需要设置好字符集 Stringuser="root"; String password="123"; Stringurl="jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=gbk"Class.forNname("com.mysql.jdbc.Driver");//装载驱动类; Connectioncon=DriverManager.getConnection(url,user,password);//取得连接其中dbname为你数据库的名字,url中的gbk即为使用的字符集

 做好以上三步以后,中文了。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tsuliuchao/archive/2009/05/03/4145810.aspx