Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 导出导入表时出现问题_Mysql - Fatal编程技术网

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, `

我的数据库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\u general\u ci。问题是当我使用HeidiSQL(6.0)-phpMYADMIN导出和导入此表时

例如,如果我有诸如
Krüger
之类的数据,它将作为
Krüger
导出导入! 我的整个应用程序都在
utf8
上,所以DB
Krü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上导入时。你能更具体地说“命令行”吗?是的,这就是问题所在