0

是否有可能简单地使用mysql -h [IP] -u root -p [DATABASE] < [FILE].sql来恢复数据库会导致西班牙语字符丢失他们的“西班牙语”并显示所有时髦?

4

2 回答 2

1

从此:_

该问题本质上与 MySQL 中的默认排序规则与 .sql 文件中指定的排序规则/字符集之间的不匹配有关。要解决此问题,请确保它们都匹配。如果您使用的是 MySQL 4+,则默认排序规则可能是 UTF-8,因此只需确保该文件也设置了默认排序规则。将以下行放在 .sql 的顶部似乎可以解决问题:

/*!40101 SET NAMES utf8 */;

原因似乎与导入器有关:即使在数据库和表上设置了默认排序规则,如果整个文件没有默认值,则每次插入都会被误解为 UTF-8 表,必须封装为 latin1 . 还要检查 .sql 文件中的表创建语句是否也是 UTF-8,如下所示:

CREATE TABLE `wp_comments` (
...
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
于 2012-08-22T13:07:21.780 回答
0

这听起来像是 latin1 与 utf8 不匹配。旧数据库可能已转储为一种编码,而新数据库则使用不同的默认编码创建。尝试使用--default-character-set=utf8标志或用 latin1 替换 utf8 是行不通的。

于 2012-08-22T13:02:44.013 回答