因为在mysql数据库中,使用的是latin字符集,所以无法正常的支持中文字符,中文在数据库中显示为乱码“?”
号。为了让mysql可以正常使用 中文,尤其是当使用jsp连接mysql的时候,我们需要使用gbk的字符集,因此我
们要对mysql进行以下设置,以便其有效的支持中文:
(1)对C:\Program Files\MySQL\MySQL Server 5.0目录下的文件my.ini进行修改:
将"default-character-set = latin1"改为
“default-character-set = gbk”(注:需要修改两处)
(2)对C:\Program Files\MySQL\MySQL Server 5.0\data目录下的相对应数据库的db.opt进行修改:
将"default-character-set = latin1 default-collation= ···"改为
“default-character-set=gbk
default-collation=gbk_chinese_ci”
注:因为数据库中的表是在以前的设置状态下建立的,所以需要删除重建。(若将数据库也删除重建,则第二步可省略,直接按照第三步的方式建数据库和表)
(3)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)3.修改jdbc驱动
jsp连接mysql需要使用jdbc驱动,在使用的时候,我们需要设置好字符集
String user="root";
String password="123";
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中文了。
阅读(663) | 评论(0) | 转发(0) |