Seite 1 von 2

Datenbankbackup mit Zeichenfehler

Verfasst: Di 9. Aug 2005, 15:08
von Neuling
Ich bin mir zwar nicht sicher ob das hier das richtige Thread sit aber egal...

Wenn ich von meinem CMS System ein Backup ziehe, genau von der MySQL Datenbank, dann werden alle Sonderzeichen wie beispielsweise ä, ü und ö kryptisch dargestellt bzw. durch eine andere Zeichenkombination ersetzt.
Ich dachte zuerst es sei ein Fehler bei den Einstellungen von meiner MySQL Datenbank aber dieser Fehler tirtt nur bei der mit Contenido verwenden DB auf! Bei allen anderen werden die Zeichen richtig exportiert.

Verwendete MySQL Version: MySQL 4.1.7

Ich habe schon den Tipp bekommen den Zeichencode umzustellen aber wie gesagt, bei allen anderne DBs auf dem gleichen Server funktioniert der Export!

Ist dies ein bekannter Fehler bzw. Problem oder mache irgendws bestimmtes falsch?

Danke für Eure Hilfe

Verfasst: Di 9. Aug 2005, 19:05
von emergence
ä, ü und ö kryptisch dargestellt
ähm
erstens welche db tabelle und zweitens wie kryptisch ?

Verfasst: Mi 10. Aug 2005, 13:16
von Neuling
aus Ü wird z.B. ? oder ü

die anderen konnte ich jetzt noch nicht richtig nachvollziehen

Verfasst: Mi 10. Aug 2005, 14:15
von Neuling
bzw. weitere Frage:

Ich bin momentan dabei mir ein CMS mit Contenido aufzubauen. Bei meiner alten Homepage hatte ich auch eine Newsfunktion basierend auf MySQL im Einsatz. Kann mir einer von euch verraten wie ich meine "altdaten" am besten die DB Struktur einpflegen kann???

D.h. am besten automatisch ohne das ich für jeden Datensatz in meiner alten DB einen Artikel im CMS anlegen muss?????

Verfasst: Sa 13. Aug 2005, 18:45
von dampfradio
Wie es scheint habe ich das gleiche Problem.
Irgendwas stimmt mit dem Zeichensatz nach DB-Dump und Reimport nicht mehr. Und das nicht nur im Backend sondern auch im Frontend.
Aus dem Euro-Symbol macht er z.B.

Code: Alles auswählen

€
Standardmäßig eingestellt ist UTF-8 .. aber das war bei der funktionierenden DB zuvor auch so..

Das Problem tritt bei mir auf in der 4.5.3 beta.

Verfasst: Sa 13. Aug 2005, 19:09
von emergence
also bei einer 4.5.3 ist das so an sich okay...

der dump müsste sich ohne probleme zurückspielen lassen...

Verfasst: Sa 13. Aug 2005, 19:42
von dampfradio
Ich glaube dass ist das wieder das PHP5-Problem..

-> http://contenido.org/forum/viewtopic.php?t=7481

Hab die XML-Klasse wie im obigen Thread geändert und dann die falschen Zeichen von Hand geändert und gespeichert.. und danach stimmt's auch wieder im Frontend.

Verfasst: Mo 15. Aug 2005, 10:11
von emergence
ähm nein ist nicht das selbe problem... und die klasse hat nichts mit dem content zu tun...

es gilt eher dieser umstand -> http://contenido.org/forum/viewtopic.php?p=48564#48564

wenn ihr bei der sprache des mandanten auf utf-8 einstellt und dann text mit sonderzeichen (und ja -> ü ö ä sind in utf-8 sonderzeichen) eingebt, wird das etwas kryptisch in der db gespeichert... auswirkungen hat es aber sonst keine...

Verfasst: Mo 15. Aug 2005, 11:14
von dampfradio
Was machen wir denn dann falsch, dass er bei uns nach Reimport des Dumps diese wirren Zeichen anzeigt?
Das gewählte Charset beim Mandanten/Sprache ist ISO-8859-1.

Die wirren Zeichen werden sowohl in den Menüs im Backend als auch im Content des Frontends angezeigt. Nur in den von uns über include eingebundenen Templates werden die Sonderzeichen komischerweise korrekt dargestellt.

Wenn ich beim Mandant auf UTF-8 umstelle, dann stimmt der Content, aber das Menü im Backend zeigt statt Sonderzeichen nur ?.
Also muss ich wohl den Dump als ISO-8859-1 und nicht als UTF-8 exportieren, oder ? Aber die Auswahlmöglichkeit besteht garnicht..

Verfasst: Mo 15. Aug 2005, 11:37
von emergence
bitte die einzelnen sachen nicht durcheinander bringen...

der dump enthält keinen einzigen text eintrag für die menüführung des backends -> das findet sich wirklich nur hier -> http://contenido.org/forum/viewtopic.php?t=7481 (die einzelnen strings sind in den xml dateien und nicht im dump)
und somit ist das leider für den dump irrelavant...
Standardmäßig eingestellt ist UTF-8
ach so die mysql db ist auf utf-8 und der mandant auf ISO-8859-1
das hier -> http://contenido.org/forum/viewtopic.php?p=48564#48564 bezieht sich auf genau auf das gegenteil...

die einzige logische möglichkeit die dann noch übrig bleibt ist das der dump fehlerhaft erzeugt wird... (mit welchem tool ihr das auch immer macht)
sieh dir einfach mal den dump mit http://www.ultraedit.com/ an...
dort hast du die möglichkeit das encoding zu modifizieren...

Verfasst: Mo 15. Aug 2005, 14:26
von dampfradio
So.. neue Installation auf lokaler Umgebung.. und wieder genau das gleiche Problem mit den Sonderzeichen.

Importierte Tabelle funktionierte im "alten" System einwandfrei.
Bei Kollation steht in der alten wie der neuen DB: latin1_german2_ci

WAS läuft hier falsch ??

Verfasst: Mo 15. Aug 2005, 15:34
von emergence
WAS läuft hier falsch ??
keine ahnung, ich halte das für ne handling sache...

wenn die db utf-8 ist und der dump wird direkt in ein file geschrieben ist,
kannst du den dump an sich wieder nur in eine utf-8 db importieren, ausser du konvertierst den dump in ein anderes encoding -> zb ISO-8859-1 mit ultraedit -> dann ist auch ein import in eine ältere mysql version möglich...

wie erzeugst du eigentlich den dump ? phpmyadmin ?

den einzigen tipp den ich dir sonst geben kann ist mal auf google nach mysql dump utf-8 zu suchen... das problem mit den seltsamen(??) zeichen kommt x-mal vor...

Verfasst: Di 16. Aug 2005, 08:40
von dampfradio
So ist es nicht ganz..
Wie ja zuletzt schrieb ist meine alte DB ISO-8859-1 und meine neue auch.
Soweit doch alles normal, oder ?
Oder ist utf-8 bei den DB Standard ?

Aber warum kann ich denn dann den mit phpmyadmin exportierten ganz normalen Standard-dump nicht wieder ordentlich (also im richtigen Zeichensatz) in die neue DB reimportieren - also mit ordentlichen Umlauten?

Das liegt doch dann am Contenido, oder ?
Die DB für die Angebote ist auch ISO 8859-1.. und da läuft alles einwandfrei.

Verfasst: Di 16. Aug 2005, 08:48
von Halchteranerin
dampfradio hat geschrieben:Aber warum kann ich denn dann den mit phpmyadmin exportierten ganz normalen Standard-dump nicht wieder ordentlich (also im richtigen Zeichensatz) in die neue DB reimportieren - also mit ordentlichen Umlauten?

Das liegt doch dann am Contenido, oder ?
Wieso soll es am Contenido liegen? Du benutzt doch nicht Contenido zum Ex-/Importieren!

Verfasst: Di 16. Aug 2005, 09:41
von emergence
wie christa anmerkt es kann nicht an contenido liegen...
Oder ist utf-8 bei den DB Standard ?
ab mysql 4.1.x ist utf-8 für die mysql db standard...

das mandanten setting hat in dem sinne nichts damit zu tun, wie die daten db intern gespeichert werden...

vielleicht ist es ja sowas simples wie das du den dump mittels ascii mode vom server geladen hast... (bei utf-8 sollte man binary nehmen...)
oder du bearbeitest den dump mittels eines editors nach der mit keinem utf-8 umgehen kann... beim speichern würde das ganze fälschlicherweise als iso8859-1 gespeichert werden...

ich tippe aber darauf das die phpmyadmin version die du verwendest einfach irgendwas falsch macht...