Datenbankbackup mit Zeichenfehler

Neuling
Beiträge: 78
Registriert: Di 24. Mai 2005, 14:46
Kontaktdaten:

Datenbankbackup mit Zeichenfehler

Beitrag 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
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

ä, ü und ö kryptisch dargestellt
ähm
erstens welche db tabelle und zweitens wie kryptisch ?
*** make your own tools (wishlist :: thx)
Neuling
Beiträge: 78
Registriert: Di 24. Mai 2005, 14:46
Kontaktdaten:

Beitrag von Neuling »

aus Ü wird z.B. ? oder ü

die anderen konnte ich jetzt noch nicht richtig nachvollziehen
Neuling
Beiträge: 78
Registriert: Di 24. Mai 2005, 14:46
Kontaktdaten:

Beitrag 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?????
dampfradio
Beiträge: 62
Registriert: Do 2. Jun 2005, 09:41
Wohnort: BaWü
Kontaktdaten:

Beitrag 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.
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

also bei einer 4.5.3 ist das so an sich okay...

der dump müsste sich ohne probleme zurückspielen lassen...
*** make your own tools (wishlist :: thx)
dampfradio
Beiträge: 62
Registriert: Do 2. Jun 2005, 09:41
Wohnort: BaWü
Kontaktdaten:

Beitrag 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.
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag 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...
*** make your own tools (wishlist :: thx)
dampfradio
Beiträge: 62
Registriert: Do 2. Jun 2005, 09:41
Wohnort: BaWü
Kontaktdaten:

Beitrag 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..
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag 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...
*** make your own tools (wishlist :: thx)
dampfradio
Beiträge: 62
Registriert: Do 2. Jun 2005, 09:41
Wohnort: BaWü
Kontaktdaten:

Beitrag 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 ??
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag 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...
*** make your own tools (wishlist :: thx)
dampfradio
Beiträge: 62
Registriert: Do 2. Jun 2005, 09:41
Wohnort: BaWü
Kontaktdaten:

Beitrag 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.
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag 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!
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag 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...
*** make your own tools (wishlist :: thx)
Gesperrt