现代应用程序很多都支持多语言,所以如果数据库采用mysql的话,一般都建议使用utf8编码,这样就可以存储多语言数据。另外一个原因是目前大多数的开发语言如.NET、JAVA,程序内部本身就是使用unicode处理程序,mysql使用utf8后可以避免数据库与程序之间的编码转换。

1.服务器编码设置。
mysql server 5在windows下安装时可以选择数据库的编码,但在linux下却不行,默认编码是litan1,所以需要修改配置文件,windows下配置文件是安装目录下的my.ini,linux下配置文件是/etc/my.cnf,在[client]、[mysqld]分别加上default-character-set=utf8,重启服务(linux下命令为service mysql restart)后在mysql>下输入show,结果中character_set_xxxx所有都显示为utf8就表示配置成功。

2.应用程序的配置。
java:jdbc:mysql://192.168.1.231:3306/dbname?useUnicode=true&characterEncoding=utf-8
net:Server=127.0.0.1;Database=dbname;User Id=root;Password=123456;Charset=utf8
把ip、dbname改为系统指定的。

3.已有数据库编码转换。
如果之前有些数据库是使用litan1编码,那么你需要将其转换为utf8后才能更好地使用。
a.  mysqldump --default-character-set=latin1 -uroot -p123456 dbname > 1.sql
b.  用editplus之类编辑工具打开1.sql,将latin1转换为utf8。(在测试中使用ultraedit转换后无法导入,不知道原因)。
c.   mysql -u root -p 123456 dbname < 1.sql
将转换后的sql文件导入到新的数据库中。
posted on 2008-10-19 20:06  锐马软件工作室  阅读(1440)  评论(0编辑  收藏  举报