PHPMyAdmin Import nicht möglich: Unerwartetes Zeichen
Hallo zusammen
Ich versuche, bis jetzt leider erfolglos, eine MySQL Datenbank mit PHPmyAdmin zu importieren. Beim Importieren erscheint immer eine Fehlermeldung.
Exportiert wurde die Datenbank so:
Und Importiert wurde diese so:
Beim Import wurde darauf geachtet, das "utf-8" ausgewählt ist. Zumindest gehe ich davon aus, dass das richtig ist. Weil wenn ich die db_name.sql mit z.B. Notepad++ öffne steht in Zeile 10:
Ob mir da jemand weiterhelfen kann?
Freundliche Grüsse
Markus
Ich versuche, bis jetzt leider erfolglos, eine MySQL Datenbank mit PHPmyAdmin zu importieren. Beim Importieren erscheint immer eine Fehlermeldung.
1. Unerwartetes Zeichen. (near "" at position 315)
2. Unerwartetes Zeichen. (near "~" at position 316)
3. Unerwartetes Zeichen. (near "=" at position 317)
[..]
Exportiert wurde die Datenbank so:
mysqldump -u root -p db_name > db_name.sql
Und Importiert wurde diese so:
Beim Import wurde darauf geachtet, das "utf-8" ausgewählt ist. Zumindest gehe ich davon aus, dass das richtig ist. Weil wenn ich die db_name.sql mit z.B. Notepad++ öffne steht in Zeile 10:
/*!40101 SET NAMES utf8 */;
Ob mir da jemand weiterhelfen kann?
Freundliche Grüsse
Markus
8 Antworten
- LÖSUNG broecker schreibt am 20.12.2015 um 11:45:36 Uhr
- LÖSUNG ritzmann schreibt am 20.12.2015 um 21:51:41 Uhr
- LÖSUNG LordGurke schreibt am 20.12.2015 um 22:39:01 Uhr
- LÖSUNG broecker schreibt am 21.12.2015 um 08:43:09 Uhr
- LÖSUNG LordGurke schreibt am 20.12.2015 um 22:39:01 Uhr
- LÖSUNG ritzmann schreibt am 20.12.2015 um 21:51:41 Uhr
- LÖSUNG 114757 schreibt am 20.12.2015 um 13:32:41 Uhr
- LÖSUNG broecker schreibt am 20.12.2015 um 14:55:52 Uhr
- LÖSUNG ritzmann schreibt am 20.12.2015 um 21:54:26 Uhr
- LÖSUNG ritzmann schreibt am 27.02.2016 um 18:08:48 Uhr
LÖSUNG 20.12.2015 um 11:45 Uhr
von einem Windows-System zu einem Linux-Server? - Windows kodiert gerne UTF-16...
Schlüssig und zügig kann man das wohl nur mit einem kleinen Hexdump entscheiden, also auf der Konsole mit hd (mit: man hd die Anleitung) um die Fehlerzeilen herum als Hex und daneben ASCII ausgeben lassen, dann kann man die Kodierung für das konkrete Datenbankfeld erkennen (hier ggf. wieder einstellen).
HG
Mark
Schlüssig und zügig kann man das wohl nur mit einem kleinen Hexdump entscheiden, also auf der Konsole mit hd (mit: man hd die Anleitung) um die Fehlerzeilen herum als Hex und daneben ASCII ausgeben lassen, dann kann man die Kodierung für das konkrete Datenbankfeld erkennen (hier ggf. wieder einstellen).
HG
Mark
LÖSUNG 20.12.2015, aktualisiert um 17:58 Uhr
Moin,
das in deinem File steht das es UTF-8 Daten enthält sagt rein garnichts darüber aus, dass es auch tatsächlich im UTF-8 Encoding auf der Platte gelandet ist.
So wie du die Daten über STDOUT exportiert hast ist das böse wenn deine Shell nicht auf UTF8 Character-Encoding gesetzt ist!
Wenn dann nur so
Dann wird ein korrekt kodiertes File geschrieben.
Siehe dazu auch folgende Seite wie du es richtig machst:
http://makandracards.com/makandra/595-dumping-and-importing-from-to-mys ...
Gruß jodel32
das in deinem File steht das es UTF-8 Daten enthält sagt rein garnichts darüber aus, dass es auch tatsächlich im UTF-8 Encoding auf der Platte gelandet ist.
So wie du die Daten über STDOUT exportiert hast ist das böse wenn deine Shell nicht auf UTF8 Character-Encoding gesetzt ist!
Wenn dann nur so
mysqldump -uroot -p database -r export.dump
Siehe dazu auch folgende Seite wie du es richtig machst:
http://makandracards.com/makandra/595-dumping-and-importing-from-to-mys ...
Gruß jodel32
LÖSUNG 20.12.2015 um 14:55 Uhr
@114757: stimmt, das alte Linux wird dann einfach cp437, 850 oder neuer ISO 8859-x haben,
danke, kommt einem bestimmt nochmal unter...
HG
Mark
danke, kommt einem bestimmt nochmal unter...
HG
Mark
LÖSUNG 20.12.2015 um 21:51 Uhr
Hallo broecker
Danke für deine Antwort. Das MySQL Dump stammt von einem Linux Debian vServer. MySQL wurde normal via apt-get installiert. Anschliessend wurde da nichts spezielles eingestellt. Auch das System selbst sollte auf UTF-8 arbeiten.
Wie ich mit "hd" die Kodierung herausfinden kann, hab ich jetzt, trotz "man", nicht ganz verstanden. Beziehungsweise: Ich weiß nicht wie ich das Interpretieren kann. Nachfolgend ein par Ausschnitte:
hd -b export.dump
hd -c export.dump
hd -d export.dump
Ersteres sieht für mich am ehesten Normal aus.
Freundliche Grüsse
Markus
Danke für deine Antwort. Das MySQL Dump stammt von einem Linux Debian vServer. MySQL wurde normal via apt-get installiert. Anschliessend wurde da nichts spezielles eingestellt. Auch das System selbst sollte auf UTF-8 arbeiten.
root@1413894585-2:/home/temp# echo $LANG
de_DE.UTF-8
Wie ich mit "hd" die Kodierung herausfinden kann, hab ich jetzt, trotz "man", nicht ganz verstanden. Beziehungsweise: Ich weiß nicht wie ich das Interpretieren kann. Nachfolgend ein par Ausschnitte:
hd -b export.dump
00057460 a3 d8 2a d5 15 a9 de 17 29 f3 5b 6a 67 f5 f1 01 |..*.....).[jg...|
0057460 243 330 052 325 025 251 336 027 051 363 133 152 147 365 361 001
00057470 1b cd 59 f2 27 29 2c 28 32 31 36 2c 27 52 65 66 |..Y.'),(216,'Ref|
0057470 033 315 131 362 047 051 054 050 062 061 066 054 047 122 145 146
00057480 65 72 72 65 72 73 5f 6b 65 79 77 6f 72 64 42 79 |errers_keywordBy|
0057480 145 162 162 145 162 163 137 153 145 171 167 157 162 144 102 171
00057490 53 65 61 72 63 68 45 6e 67 69 6e 65 5f 34 37 27 |SearchEngine_47'|
0057490 123 145 141 162 143 150 105 156 147 151 156 145 137 064 067 047
000574a0 2c 31 2c 27 32 30 31 33 2d 30 32 2d 32 35 27 2c |,1,'2013-02-25',|
00574a0 054 061 054 047 062 060 061 063 055 060 062 055 062 065 047 054
000574b0 27 32 30 31 33 2d 30 32 2d 32 35 27 2c 31 2c 27 |'2013-02-25',1,'|
00574b0 047 062 060 061 063 055 060 062 055 062 065 047 054 061 054 047
000574c0 32 30 31 33 2d 30 33 2d 31 38 20 32 32 3a 33 35 |2013-03-18 22:35|
00574c0 062 060 061 063 055 060 063 055 061 070 040 062 062 072 063 065
000574d0 3a 30 37 27 2c 27 78 9c ad 8e c1 5c 6e c2 30 10 |:07','x....\n.0.|
00574d0 072 060 067 047 054 047 170 234 255 216 301 134 156 302 060 020
000574e0 44 7f a5 ec 5d 68 d2 d6 c6 c9 d5 b3 8a 78 2f 5b |D...]h.......x/[|
00574e0 104 177 245 354 135 150 322 326 306 311 325 263 212 170 057 133
000574f0 2d 18 0c 15 6c 35 87 d2 7f 37 a9 e9 51 28 e8 e1 |-...l5...7..Q(..|
00574f0 055 030 014 025 154 065 207 322 177 067 251 351 121 050 350 341
00057500 ed 84 61 37 3c 46 8e c1 20 d5 7b 88 5c 72 e8 60 |..a7<F.. .{.\r.`|
0057500 355 204 141 067 074 106 216 301 040 325 173 210 134 162 350 140
00057510 9c b9 55 5b ee f9 c4 b5 6d aa e3 dd 11 04 86 ce |..U[....m.......|
0057510 234 271 125 133 356 371 304 265 155 252 343 335 021 004 206 316
00057520 0f 3a 93 66 64 9f 75 86 5c 6e 6d 01 b2 5c 5c 37 |.:.fd.u.\nm..\\7|
0057520 017 072 223 146 144 237 165 206 134 156 155 001 262 134 134 067
00057530 96 74 87 14 44 da 40 44 64 cc cc b3 f6 e4 fa 32 |.t..D.@Dd......2|
0057530 226 164 207 024 104 332 100 104 144 314 314 263 366 344 372 062^C
hd -c export.dump
00045180 b4 f6 b3 ae 05 5c 30 5c 5a 0e 03 c4 27 29 2c 28 |.....\0\Z...'),(|
0045180 � � � � 005 \ 0 \ Z 016 003 � ' ) , (
00045190 31 39 36 2c 27 52 65 66 65 72 72 65 72 73 5f 75 |196,'Referrers_u|
0045190 1 9 6 , ' R e f e r r e r s _ u
000451a0 72 6c 42 79 57 65 62 73 69 74 65 27 2c 31 2c 27 |rlByWebsite',1,'|
00451a0 r l B y W e b s i t e ' , 1 , '
000451b0 32 30 31 33 2d 30 32 2d 31 31 27 2c 27 32 30 31 |2013-02-11','201|
00451b0 2 0 1 3 - 0 2 - 1 1 ' , ' 2 0 1
000451c0 33 2d 30 32 2d 31 31 27 2c 31 2c 27 32 30 31 33 |3-02-11',1,'2013|
00451c0 3 - 0 2 - 1 1 ' , 1 , ' 2 0 1 3
000451d0 2d 30 32 2d 31 39 20 32 30 3a 30 38 3a 35 32 27 |-02-19 20:08:52'|
00451d0 - 0 2 - 1 9 2 0 : 0 8 : 5 2 '
000451e0 2c 27 78 9c 4b b4 32 b4 aa ce b4 d2 35 b4 f6 b3 |,'x.K.2.....5...|
00451e0 , ' x 234 K � 2 � � � � � 5 � � �
000451f0 ae 05 5c 30 5c 5a 0e 03 c4 27 29 2c 28 31 39 37 |..\0\Z...'),(197|
00451f0 � 005 \ 0 \ Z 016 003 � ' ) , ( 1 9 7
00045200 2c 27 52 65 66 65 72 72 65 72 73 5f 74 79 70 65 |,'Referrers_type|
0045200 , ' R e f e r r e r s _ t y p e
00045210 27 2c 31 2c 27 32 30 31 33 2d 30 32 2d 31 32 27 |',1,'2013-02-12'|
0045210 ' , 1 , ' 2 0 1 3 - 0 2 - 1 2 '
00045220 2c 27 32 30 31 33 2d 30 32 2d 31 32 27 2c 31 2c |,'2013-02-12',1,|
0045220 , ' 2 0 1 3 - 0 2 - 1 2 ' , 1 ,
00045230 27 32 30 31 33 2d 30 32 2d 31 39 20 32 30 3a 30 |'2013-02-19 20:0|^C
hd -d export.dump
001c630 25705 29285 26719 29551 28276 28001 17765 29816
0001c640 27 2c 31 2c 27 32 30 31 33 2d 30 31 2d 33 30 27 |',1,'2013-01-30'|
001c640 11303 11313 12839 12592 11571 12592 13101 10032
0001c650 2c 27 32 30 31 33 2d 30 31 2d 33 30 27 2c 31 2c |,'2013-01-30',1,|
001c650 10028 12338 13105 12333 11569 12339 11303 11313
0001c660 27 32 30 31 33 2d 30 32 2d 30 31 20 32 32 3a 33 |'2013-02-01 22:3|
001c660 12839 12592 11571 12848 12333 08241 12850 13114
0001c670 32 3a 30 31 27 2c 27 78 9c 2d 8c b1 0e 83 30 0c |2:01','x.-....0.|
001c670 14898 12592 11303 30759 11676 45452 33550 03120
0001c680 44 ff c5 3b 12 81 d2 c2 79 ed d2 05 aa aa 3b 32 |D..;....y.....;2|
001c680 65348 15301 33042 49874 60793 01490 43690 12859
0001c690 94 c1 6a a4 5c 22 51 89 21 ca bf 37 a6 19 ec e7 |..j.\"Q.!..7....|
001c690 49556 42090 08796 35153 51745 14271 06566 59372
0001c6a0 3b f9 4e 50 21 28 4a 1e e0 3a d0 5d 77 7d 8f 57 |;.NP!(J..:.]w}.W|
001c6a0 63803 20558 10273 07754 15072 24016 32119 22415
0001c6b0 f9 ca 53 26 bf 8c 8f cf 4e 70 08 5b 5a 34 13 0b |..S&....Np.[Z4..|^C
Ersteres sieht für mich am ehesten Normal aus.
Freundliche Grüsse
Markus
LÖSUNG 20.12.2015 um 21:54 Uhr
Hallo jodel32
Danke für deine Antwort. Habe nun deinen Befehl benutzt um die Datenbank zu exportieren. Leider dasselbe, wie davor. Die Fehlermeldungen beim Import Vorgang sind immer noch vorhanden.
Einzig...
... werde ich noch versuchen. Melde mich dann wieder.
Freundliche Grüsse
Markus
Danke für deine Antwort. Habe nun deinen Befehl benutzt um die Datenbank zu exportieren. Leider dasselbe, wie davor. Die Fehlermeldungen beim Import Vorgang sind immer noch vorhanden.
Einzig...
--default-character-set=latin1
... werde ich noch versuchen. Melde mich dann wieder.
Freundliche Grüsse
Markus
LÖSUNG 20.12.2015 um 22:39 Uhr
Es könnte sein, dass da BLOB-Felder enthalten sind (also Binärdaten). Man kann mysqldump per Parameter mitgeben, dass die als HEX exportiert werden - ich glaube "--hex-dump" oder ähnlich. Habe gerade leider kein MySQL zur Hand wo ich das nachsehen kann.
LÖSUNG 21.12.2015 um 08:43 Uhr
Die erste Ansicht ist schon völlig ausreichend, eine kompakte Darstellung hätte auch gereicht:
BLOB-Felder sind in den HexDumps trotz der zufälligen Auswahl auch tatsächlich zu sehen, die Kodierung ist aber auch tatsächlich sehr wahrscheinlich UTF-8, da sonst regelmäßig zwischen regulären ASCII-Werten (gerade den nicht-BLOBs) 00-Bytes stünden.
Das Setzen auf latin1 würde es also schlechter machen.
@LordGurke hat da schon recht, den Export wiederholen wäre Best Practice.
Wurde er nach dem Export nochmal mit Editoren geöffnet? die könnten in den BLOBs vielleicht CR oder LF+CR eingefügt haben?
BLOB-Felder sind in den HexDumps trotz der zufälligen Auswahl auch tatsächlich zu sehen, die Kodierung ist aber auch tatsächlich sehr wahrscheinlich UTF-8, da sonst regelmäßig zwischen regulären ASCII-Werten (gerade den nicht-BLOBs) 00-Bytes stünden.
Das Setzen auf latin1 würde es also schlechter machen.
@LordGurke hat da schon recht, den Export wiederholen wäre Best Practice.
Wurde er nach dem Export nochmal mit Editoren geöffnet? die könnten in den BLOBs vielleicht CR oder LF+CR eingefügt haben?
LÖSUNG 27.02.2016 um 18:08 Uhr
Sorry, für die nun mittlerweile verstrichene Zeit. Bin das Problem mittlerweile umgangen. Habe den Export und Import einfach mit der PHP-Software "mysqldumper" erledigt. Hat ohne Zwischenfälle funktioniert.
Trotzdem vielen dank für eure Hilfe!
Trotzdem vielen dank für eure Hilfe!