问题导出导入表

时间:2011-05-20 11:01:25

标签: mysql

我的数据库MySql上有这种表:

CREATE TABLE `users` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`surname` VARCHAR(255) NOT NULL,
`nickname` VARCHAR(255) NOT NULL,
`password` VARCHAR(255) NOT NULL,
`mail` VARCHAR(255) NOT NULL,
`country` VARCHAR(255) NOT NULL,
`birthday` VARCHAR(255) NOT NULL DEFAULT '0000-00-00',
`accessres` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
`admin` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
`datereg` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`forum_ban` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
`last_access` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=MyISAM
ROW_FORMAT=DEFAULT
AUTO_INCREMENT=209

你怎么看,整理是utf8_general_ci。问题是当我使用HeidiSQL(6.0)-phpMYADMIN导出 - 导入此表时。

例如,如果我有Krüger等数据,则会将其导出为Krüger导入! 我的整个申请都在utf8上,因此数据库Krüger上的内容实际上写为Krüger

因此出口有一些错误。我能做什么?我认为问题是phpMyAdmin,因为如果我尝试在HeidiSQL上再次导入表,那么文本是正确的。

4 个答案:

答案 0 :(得分:2)

打开导出的文件或将其重新导入数据库时​​是否看到了问题?如果您在使用phpMyAdmin导入时看到错误,则可能需要通过命令行导入并使用该标志。

--default-character-set=utf8

我也遇到过这些问题并通过命令行导入并使用此标志已经有效。

如果您有从phpMyAdmin导出的文件,可以在命令行上执行此操作。

mysql -u USER -p DATABASENAME --default-character-set=utf8 < dumpfile.sql

答案 1 :(得分:1)

只有通过phpMYAdmin导出数据库并通过mysql命令行导入数据库时​​才会出现此问题,反之亦然。您可以通过phpMyAdmin或通过命令行导出或导入,也不会遇到问题

答案 2 :(得分:1)

使用SQLyog MySQL GUI软件。

答案 3 :(得分:1)

尽量不要使用任何mysql GUI客户端/ web界面,
mysqldumpmysqlimport超出了您的需求

如果你坚持,
检查HeidiSQL客户端上的编码设置,确保设置为UTF-8