Chinaunix首页 | 论坛 | 博客
  • 博客访问: 576045
  • 博文数量: 836
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 4995
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 16:55
文章分类

全部博文(836)

文章存档

2008年(836)

我的朋友

分类: LINUX

2008-08-22 17:39:55

 
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--level3mysqldon

5、启动mysqld服务:
servicemysqldstart

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

mysql
GRANTALLPRIVILEGESON*.*TO''root''@''%''IDENTIFIEDBY''''WITHGRANTOPTION;


7、重启mysql
servicemysqldrestart

8、创建数据库:
createdatabasetestdbdefaultcharactersetutf8defaultcollateutf8_general_ci

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

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

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

Dbcharacterset:utf8

Clientcharacterset: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://yourip:3306/databasename?useUnicode=true&characterEncoding=UTF-8

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

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

阅读(314) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~