A库:latin1编码,t1表:latin1编码,字段f1和f2都是用UTF8编码后插入的
A库:
+--------------------------+----------------------------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql-5.0.67-linux-i686/share/mysql/charsets/ |
+--------------------------+----------------------------------------------------------+
B库的结构也A库完全相同:
mysql> show variables like '%char%';
+--------------------------+-----------------------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql-5.0.75/share/mysql/charsets/ |
+--------------------------+-----------------------------------------------+
直接用mysqldump -uroot A t1 > out.sql倒出来导入到B库,然后在B库中mysql -uroot -p B < out.sql
数据完全就是乱码。。。。。。。。。。。。。。。。。。。。。。。。。。
can you tell me y?????????????????????????????????
然后我用另外一种方法:mysqldump -uroot A t1 --default-character-set=latin1 > out.sql倒出来导入到B库,然后在B库中mysql -uroot -p B --default-character-set=latin1 < out.sql
导入之后,显示完全正确
为什么呢? mysqldump默认字符集是读character_set_system的吗?
导出的两个文件也完全不一样大小。。。