我在Debian Sqeeze上使用MySQL 5.1.58,并试图恢复数据库的转储。 一旦恢复,我注意到,所有的重音字符已经成为其他字符作为?或?:完全不同。
看在转储我见过,问题不是在导入,但在出口,因为奇怪的字符在转储。
我在ArchLinux上从另一个安装的MySQL(5.5)导出了这个转储。 我也尝试在mysqldump中使用参数–default-character-set = 8tf8,但是没有奏效。
先谢谢你。
这是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
( 来源 )