- 论坛徽章:
- 93
|
提示“导入失败提示:ERROR at line 572: Unknown command '\''”是因为导出的内容中 gbk 有的双字节文字里某个字节的编码与 ascii 反斜杆的编码一样,在 latin1 里解释为 \,从而导致认为命令语法错误。
你那样的解决办法应该是可以的。
我认为可以有这三种办法来处理不同字符集数据库之间的互导(未实际检测是否可行):
1. 导出的时候设定字符集为目标库的字符集
mysqldump --default-character-set=latin1
2. 导入的时候设定字符集为目标库的字符集
mysql --default-character-set=latin1
3. 导入的时候设定会话的相关字符集
mysql 进入后,set names latin1;
如下可以看到字符集的变化:
1. mysql 不带字符集参数:- 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 | d:\wamp\mysql\share\charsets\ |
- +--------------------------+-------------------------------+
- 8 rows in set (0.00 sec)
复制代码 2. mysql 带选项:--default-character-set=gbk- mysql> show variables like "%char%";
- +--------------------------+-------------------------------+
- | Variable_name | Value |
- +--------------------------+-------------------------------+
- | character_set_client | gbk |
- | character_set_connection | gbk |
- | character_set_database | latin1 |
- | character_set_filesystem | binary |
- | character_set_results | gbk |
- | character_set_server | latin1 |
- | character_set_system | utf8 |
- | character_sets_dir | d:\wamp\mysql\share\charsets\ |
- +--------------------------+-------------------------------+
- 8 rows in set (0.00 sec)
复制代码 3. mysql 不带选项进入后,使用 set names gbk;- 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 | d:\wamp\mysql\share\charsets\ |
- +--------------------------+-------------------------------+
- 8 rows in set (0.00 sec)
- mysql> set names gbk;
- Query OK, 0 rows affected (0.01 sec)
- mysql> show variables like "%char%";
- +--------------------------+-------------------------------+
- | Variable_name | Value |
- +--------------------------+-------------------------------+
- | character_set_client | gbk |
- | character_set_connection | gbk |
- | character_set_database | latin1 |
- | character_set_filesystem | binary |
- | character_set_results | gbk |
- | character_set_server | latin1 |
- | character_set_system | utf8 |
- | character_sets_dir | d:\wamp\mysql\share\charsets\ |
- +--------------------------+-------------------------------+
- 8 rows in set (0.00 sec)
复制代码 |
|