Muhamad Bhaa Asfour Asked: 2012-04-12 10:29:50 +0800 CST2012-04-12 10:29:50 +0800 CST 2012-04-12 10:29:50 +0800 CST 将导入的 latin1 数据更正为 utf8 772 我从备份恢复了我的 drupal 站点数据库,但完成后我发现导入的数据是这样的符号,قوانين كرة因为备份是使用 latin1 字符集进行的,但我的表和数据库是 utf8 我想要一种将此数据转换为 utf8 的方法,以便在我的数据库中将它们存储为字母和单词而不是符号 我怎样才能做到这一点 ? mysql-5 restore 1 个回答 Voted Best Answer Craig Efrein 2012-04-12T21:23:11+08:002012-04-12T21:23:11+08:00 您可以使用此命令恢复数据库 mysql -u someuser -p --default-character-set=utf8 somedatabase < backup.sql 这会覆盖默认的客户端字符集。 我还要确保我的表也在 utf8 中。 因此,当您使用文本编辑器打开备份文件时,您应该看到utf8作为默认字符集 CREATE TABLE `sometable` ( `c1` varchar(10) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 如果您仍有问题,请检查您的备份并确保正在还原的实际数据格式正确。例如,如果你有一个像 é 这样的字符,当你在文本编辑器中查看它时,它应该显示为é,而不是é一些不可读的符号。 一个附加说明。utf8_general_ci 和 latin1_swedish_ci 是排序规则而不是字符集。像 UTF8 这样的字符集可以有多种排序规则,有些是区分大小写的 _cs,有些是不区分大小写的 _ci。归类为字符比较和排序设置规则。 http://en.wikipedia.org/wiki/Collation
您可以使用此命令恢复数据库
这会覆盖默认的客户端字符集。
我还要确保我的表也在 utf8 中。
因此,当您使用文本编辑器打开备份文件时,您应该看到utf8作为默认字符集
如果您仍有问题,请检查您的备份并确保正在还原的实际数据格式正确。例如,如果你有一个像 é 这样的字符,当你在文本编辑器中查看它时,它应该显示为é,而不是
é
一些不可读的符号。一个附加说明。utf8_general_ci 和 latin1_swedish_ci 是排序规则而不是字符集。像 UTF8 这样的字符集可以有多种排序规则,有些是区分大小写的 _cs,有些是不区分大小写的 _ci。归类为字符比较和排序设置规则。
http://en.wikipedia.org/wiki/Collation