我在 Debian Sqeeze 上使用 MySQL 5.1.58,并尝试恢复数据库的转储。恢复后,我注意到所有重音字符都变成了其他字符,如 ù 或 è:完全不同。
查看转储后,我发现问题不在于导入,而在于导出,因为转储中存在奇怪的字符。
我从 ArchLinux 上的另一个 MySQL (5.5) 安装中导出了该转储。我还尝试在 mysqldump 中使用参数 --default-character-set=8tf8,但没有成功。
先感谢您。
答案1
这是 的一个常见问题mysqldump
。不要使用utf8
作为默认编码,而是使用latin1
。此外,您还可以使用-N
(将指定SET NAMES
),以便编码文本不会被 mysql 重新编码。即:
mysqldump -u username -p --default-character-set=latin1 -N database > backup.sql
mysql -u username -p --default-character-set=latin1 database < backup.sql
(来源)