我有我的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
,等等DB Krüger
真的写成Krüger
。
所以有一些错误的出口。我能做什么?我认为问题是phpMyAdmin,因为如果我尝试在HeidiSQL上再次导入表格,则文本是正确的。
据我所知选择时HeidiSQL做了适当的处理UFT8。你是如何验证出口的?是否有可能你正在查看导出的程序无法应对utf8?如果使用较旧的软件查看此类导出,则可能会显示一个合适的编码特殊字符,例如您提供的示例。 – Bjoern 2011-05-20 11:06:13
我正在使用Scite Text Editor ...!事实上,如果我再次在HeidiSQL上导入,字符串是正确的:O – markzzz 2011-05-20 11:11:24
再次...您是如何验证导出的?在utf8中,德文'ü'实际上被编码为'C3 BC',这将被不支持utf8的观众(或未被配置为将其显示为utf8!的观众)解释为'Ã''。如果你的导出在这个位置显示'C3 BC'(尝试使用HEX编辑器),导出不会被破坏,但是其他的东西是。 – Bjoern 2011-05-20 11:12:41