红联Linux门户
Linux帮助

Fedora7下MySql中文支持的配置

发布时间:2007-10-16 16:04:06来源:红联作者:rganizati
linux下数据库中文问题,不外乎俩种解决方法,一种就是从系统语言到数据库语言、编码等全部都用GBK,另一种,就是数据库的编码等全部都用utf8。经过测试,我采用了uft8的方式,感觉中文问题支持很好。

下面就是我在Fedora7下默认的MySql5的修改、配置步骤:

1、安装Fedora7,没什么好说的,记得安装MySql就行

2、修改/etc/my.cnf文件,在[mysqld]标签下,增加如下几行:
default-storage-engine=INNODB

character-set-server=utf8

collation-server=utf8_general_ci

default-character-set=utf8

skip-bdb


3、在/etc/my.cnf文件中增加[client]标签,内容如下:
[client]

default-character-set=utf8


4、修改服务启动配置,让mysqld服务在系统启动时就启动:
chkconfig --level 3 mysqld on

5、启动mysqld服务:
service mysqld start

6、如果没有修改过mysql的root密码,就不用改了,在此,增加root用户的远程访问数据库的权限:

mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;


7、重启mysql
service mysqld restart

8、创建数据库:
create database testdb default character set utf8 default collate utf8_general_ci

务必指定字符集和排序方式,均为UTF-8,这样才能保证创建的表也使用UTF-8

9、查看数据库配置是否成功:
mysql
status

看到如下类似信息就说明OK了:
Server characterset: utf8

Db characterset: utf8

Client characterset: utf8

Conn. characterset: utf8


也就是,数据库以及编码、连接方式都用utf8。

10、用MySql-fron工具测试:

a、连接时,“注册”界面中的字符集设置为utf8

b、新建表时,字符集设置为utf8,Collation设置为utf8_general_ci

c、插入中文

d、查询刚刚插入的内容,看看中文是否正常

11、用Jbuilder的Pilot工具测试,即通过JDBC操作,看看是否正常:

注意,连接数据库的url中,要加入编码配置,即:

useUnicode=true&characterEncoding=UTF-8

完整的url应该类似这样:
jdbc:mysql://your ip:3306/database name?useUnicode=true&characterEncoding=UTF-8

采用上述配置与测试后,中文一切正常。

如果要在Fedora7的终端中操作或查看中文的话,可以启动X windows,然后在X windows中打开终端进行数据库操作,只要你安装了中文语言库,就可以正常显示中文了。如果不行,就把系统的缺省语言改为utf8。
文章评论

共有 2 条评论

  1. gxf 于 2007-10-16 19:52:10发表:

    今天发现用 mysql --default-character-set=gbk -u root -p**********,在终端

    下中文显示正常。浏览mysql官方文档是发现的,共享一下

  2. 奶茶dsk 于 2007-10-16 17:29:44发表:

    很好,强烈支持。。。。:0L