Mysql 导出导入表时出现问题
我的数据库MySql上有这样的表:Mysql 导出导入表时出现问题,mysql,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, `
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\u general\u ci。问题是当我使用HeidiSQL(6.0)-phpMYADMIN导出和导入此表时
例如,如果我有诸如Krüger
之类的数据,它将作为Krüger
导出导入!
我的整个应用程序都在utf8
上,所以DBKrüger
实际上是以Krüger
的形式编写的
因此,在出口方面存在一些错误。我能做什么?我认为问题出在phpMyAdmin上,因为如果我再次尝试在HeidiSQL上导入表,文本是正确的。打开导出的文件或将其导入数据库时,您是否看到问题。如果在使用phpMyAdmin导入时看到错误,则可能需要通过命令行导入并使用该标志
--default-character-set=utf8
我也遇到了这些问题,通过命令行导入并使用此标志已奏效
如果有从phpMyAdmin导出的文件,则可以通过在命令行上执行此操作来导入该文件
mysql -u USER -p DATABASENAME --default-character-set=utf8 < dumpfile.sql
mysql-u USER-p DATABASENAME——默认字符集=utf8
打开导出的文件或将其重新导入数据库时,是否看到问题。如果在使用phpMyAdmin导入时看到错误,则可能需要通过命令行导入并使用该标志
--default-character-set=utf8
我也遇到了这些问题,通过命令行导入并使用此标志已奏效
如果有从phpMyAdmin导出的文件,则可以通过在命令行上执行此操作来导入该文件
mysql -u USER -p DATABASENAME --default-character-set=utf8 < dumpfile.sql
mysql-u USER-p DATABASENAME——默认字符集=utf8
只有通过phpMYAdmin导出数据库并通过mysql命令行导入数据库时,才会出现此问题,反之亦然。您可以通过phpMyAdmin或命令行导出或导入数据库,您将不会遇到问题只有通过phpMyAdmin导出数据库并通过mysql命令行导入数据库时,此问题才会发生,反之亦然。您可以通过phpMyAdmin或命令行导出或导入,使用SQLYG MySQL GUI软件将不会遇到问题 使用SQLYG MySQL GUI软件 尽量不要使用任何mysql GUI客户端/web界面,,这比你需要的要多 如果您坚持,
检查HeidiSQL客户端上的编码设置,确保设置为UTF-8尝试不使用任何mysql GUI客户端/web界面,
,这比你需要的要多 如果您坚持,
检查HeidiSQL客户端上的编码设置,确保设置为UTF-8,据我所知,HeidiSQL在被选中时会进行正确的uft8处理。您是如何验证该导出的?您正在查看导出的程序是否可能无法处理utf8?如果使用较旧的软件查看这样的导出,它可能会显示一个正确编码的特殊字符,就像您提供的示例一样。我正在使用Scite文本编辑器。。。!事实上,如果我在HeidiSQL上再次导入,字符串是正确的:OAgain。。。您是如何验证该导出的?德语
u
实际上在utf8中被编码为C3 BC
,如果utf8不支持查看器(或者查看器未配置为将其显示为utf8!),则会被解释为ü
。如果您的导出在此位置上显示C3 BC
(尝试使用十六进制编辑器),则导出不会中断,但其他内容会中断。使用XVI32
我看到Ã=C3
,¼=BC
。。。但是为什么呢?为什么Hex Editor向我显示而不是ü
?这意味着导出是正常的,您不必担心导出。在utf8中,德语u
被编码为C3 BC
——合适的查看器可以在两种编码中显示它。出口不是你的问题,进口是。确保在phpmyadmin的导入选项中选择了utf8。我刚刚用一个旧版本的phpmyadmin尝试过,它的工作方式很有魅力。据我所知,HeidiSQL在被选中时会进行适当的uft8处理。您是如何验证该导出的?您正在查看导出的程序是否可能无法处理utf8?如果使用较旧的软件查看这样的导出,它可能会显示一个正确编码的特殊字符,就像您提供的示例一样。我正在使用Scite文本编辑器。。。!事实上,如果我在HeidiSQL上再次导入,字符串是正确的:OAgain。。。您是如何验证该导出的?德语u
实际上在utf8中被编码为C3 BC
,如果utf8不支持查看器(或者查看器未配置为将其显示为utf8!),则会被解释为ü
。如果您的导出在此位置上显示C3 BC
(尝试使用十六进制编辑器),则导出不会中断,但其他内容会中断。使用XVI32
我看到Ã=C3
,¼=BC
。。。但是为什么呢?为什么Hex Editor向我显示而不是ü
?这意味着导出是正常的,您不必担心导出。在utf8中,德语u
被编码为C3 BC
——合适的查看器可以在两种编码中显示它。出口不是你的问题,进口是。确保在phpmyadmin的导入选项中选择了utf8。我刚刚用一个旧版本的phpmyadmin试过,就像一个符咒。这和buddy或你在通过命令行导入时做的事情是一样的,也可以添加--default character set=utf8,那么就没有问题了。他们在导入和导出时使用相同的东西,这就是为什么没有问题的原因。如果你从一个插件转到另一个命令行,这会导致问题,反之亦然,这和buddy或你在导入时做的事情是一样的通过命令行导入也可以添加--default character set=utf8,这样就不会有问题。它们在导入和导出时使用相同的东西,这就是为什么没有问题的原因。如果从插件转到命令行,则会导致问题,反之亦然。是的,问题是当我在phpMYADMIN上导入时。你能更具体地说“命令行”吗?是的,这就是问题所在