我的数据库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你可以看到,collate是utf8_general_ci。问题是当我使用HeidiSQL (6.0)-phpMYADMIN导出-导入这个表时。
例如,如果我有像Krüger这样的数据,它被导出-导入为Krüger!我的整个应用程序都在utf8上,所以DB Krüger实际上是用Krüger编写的。
因此,在导出中存在一些错误。我能做什么?我认为问题出在phpMyAdmin上,因为如果我再次尝试在HeidiSQL上导入表,文本是正确的。
发布于 2011-05-20 19:04:23
当您打开导出的文件或将其重新导入数据库时,是否会看到问题。如果在使用phpMyAdmin导入时看到错误,则可能需要通过命令行导入并使用标志。
--default-character-set=utf8我也遇到了这些问题,通过命令行和使用这个标志导入也很有效。
如果您有一个从phpMyAdmin导出的文件,则可以通过在命令行上执行此操作来导入该文件。
mysql -u USER -p DATABASENAME --default-character-set=utf8 < dumpfile.sql发布于 2011-05-20 19:06:22
只有当您通过phpMYAdmin导出数据库并通过mysql命令行导入数据库时,才会出现此问题,反之亦然。您可以通过phpMyAdmin或命令行导出或导入,这样就不会遇到这个问题
发布于 2011-05-20 19:07:05
使用SQLyog MySQL图形用户界面软件。
https://stackoverflow.com/questions/6070960
复制相似问题