本文共 2051 字,大约阅读时间需要 6 分钟。
首先我拿到sql文件没乱码,(用ultraedit 管理员界面可以看到文件编码)
数据库编码和文件一致
下面就进到mysql里面看看variables
mysql> show variables like "%char%";+--------------------------+---------------------------------------------------------------------------------+| Variable_name | Value |+--------------------------+---------------------------------------------------------------------------------+| character_set_client | latin1 || character_set_connection | latin1 || character_set_database | utf8 || character_set_filesystem | binary || character_set_results | latin1 || character_set_server | utf8 || character_set_system | utf8 || character_sets_dir | /usr/local/Percona-Server-5.1.57-rel12.8-233-Linux-x86_64/share/mysql/charsets/ |+--------------------------+---------------------------------------------------------------------------------+8 rows in set (0.01 sec)
mysql> show variables like "%coll%";+----------------------+-------------------+| Variable_name | Value |+----------------------+-------------------+| collation_connection | latin1_swedish_ci || collation_database | utf8_bin || collation_server | utf8_bin |+----------------------+-------------------+3 rows in set (0.00 sec)
有几个latin1的...
原来是connection的变量是latin1... 忍不了
修改sql文件
SET collation_connection = utf8_bin;
SET character_set_client = utf8;
SET character_set_connection = utf8;
mysql --socket=/opt/mydata/my3306/my3306.sock -A < xxx.sql 就好了...
转载地址:http://xzbxi.baihongyu.com/