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。
Fedora7 配置MySql中文支持Fedora7 配置MySql中文支持Fedora7 配置MySql中文支持Fedora7 配置MySql中文支持Fedora7 配置MySql中文支持Fedora7 配置MySql中文支持Fedora7 配置MySql中文支持Fedora7 配置MySql中文支持Fedora7 配置MySql中文支持Fedora7 配置MySql中文支持
阅读(1308) | 评论(0) | 转发(0) |