修改mysql数据库的默认编码方式

修改my.ini文件

加上

default-character-set=gb2312

设定数据库字符集

alter database da_name default character set 'charset'

1)设置数据库编码 /etc/my.cnf
[mysqld]
default-character-set=gbk

...
[client]
default-character-set=gbk

---------------------------------------

2)按字符集导出
$mysqldump -u root -p dbname --default-character-set=gbk > a.sql;


3)查看SQL文件的编码
[root@localhost gethtml]# file a.sql
   a.sql: UTF-8 Unicode ...
[root@localhost gethtml]# iconv -f utf-8 -t gbk a.sql > a2.sql
[root@localhost gethtml]# file a2.sql
   a2.sql: Non-ISO extended-ASCII English text 这时已经是gbk的编码了

3)导入
查看数据库服务和客户端字符集
mysql> status;
Server characterset:    gbk
Db     characterset:      gbk
Client characterset:      latin1
Conn. characterset:     latin1


mysql> set names 'gbk';   //这样

mysql> status;
Server characterset:   gbk
Db     characterset:     gbk
Client characterset:     gbk
Conn. characterset:    gbk

这时才能导数据
mysql> source a.sql;

----------------------------------------------------------------------------------

单独设置某个数据库:
alter database testdb character set utf8;

查看mysql支持的编码:
show character set;


查看系统的字符集和排序方式的设定可以通过下面的两条命令:

mysql> SHOW VARIABLES LIKE ''character_set_%'';

posted @ 2013-05-09 16:45  lysxc  阅读(226)  评论(0编辑  收藏  举报