mysql: umlaute nach backup fehlerhaft

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
xero
Beiträge: 17
Registriert: 06.12.2005 16:48:19

mysql: umlaute nach backup fehlerhaft

Beitrag von xero » 07.01.2007 20:33:54

Hallo,
ich habe von einem Server mysql dumps erstellt (mysqldump > backup.sql) und will die nun auf einen neuen Server einspielen. Klappt auch alles wunderbar, bis auf die Umlaute. Alle umlaute werden in phpMyadmin - und damit auch auf der webseite selber - als ¼ oder ähnliches angezeigt.
Offensichtlich gibt es probleme mit den charsets.. wenn ich das backup über den browser aufrufe sehe ich die umlaute fehlerhaft, stell ich im firefox die codierung von iso-8859 auf utf8 umstelle sind die umlaute richtig. Anscheinend ist also der server mit dem falschen Charset Configuriert.
Wenn ich die Variablen anzeigen lasse ( SHOW VARIABLES LIKE 'character_set%'; ) erhalte ich folgende Tabelle:

Code: Alles auswählen

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
das ändern der variablen bringt leider nur temporär etwas

Pawel
Beiträge: 284
Registriert: 27.11.2006 03:59:39

Beitrag von Pawel » 07.01.2007 23:45:19

Code: Alles auswählen

man mysqldump
speziell: --default-character-set=charset und --set-charset

xero
Beiträge: 17
Registriert: 06.12.2005 16:48:19

Beitrag von xero » 08.01.2007 06:43:16

der server existiert aber leider nicht mehr und ich muss jetzt irgendwie mit dem gemachten backup klarkommen. habe bereits beim einlesen versucht mit default-character-set zu arbeiten, aber das hat leider nichts gebracht. welches charset muss ich überhaupt nehmen?

Benutzeravatar
Teddybear
Beiträge: 3163
Registriert: 07.05.2005 13:52:55
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Altomünster
Kontaktdaten:

Beitrag von Teddybear » 08.01.2007 07:01:13

xero hat geschrieben:der server existiert aber leider nicht mehr und ich muss jetzt irgendwie mit dem gemachten backup klarkommen. habe bereits beim einlesen versucht mit default-character-set zu arbeiten, aber das hat leider nichts gebracht. welches charset muss ich überhaupt nehmen?
Jaaa... das kommt ja wohl ganz darauf an, wecher Zeichensatz auf dem alten Server verwendung fand..
Versuchungen sollte man nachgeben. Wer weiß, ob sie wiederkommen!
Oscar Wilde

Mod-Voice / My Voice

Benutzeravatar
H4kk3r
Beiträge: 724
Registriert: 02.01.2006 16:50:51
Wohnort: in der Nähe von Heidelberg

Beitrag von H4kk3r » 08.01.2007 07:06:56

xero hat geschrieben:der server existiert aber leider nicht mehr und ich muss jetzt irgendwie mit dem gemachten backup klarkommen. habe bereits beim einlesen versucht mit default-character-set zu arbeiten, aber das hat leider nichts gebracht. welches charset muss ich überhaupt nehmen?
Normalerweise kommen latin-1 und utf-8 in Frage. Wie die Angabe dann genau heißt, musst du ergoogeln.
Gruß, Marcus

„Well done! We did it!“

Debian testing
kernel 2.6.18.3
IBM R50e UR0S5GE

xero
Beiträge: 17
Registriert: 06.12.2005 16:48:19

Beitrag von xero » 08.01.2007 18:08:06

edit: updates unten beachten

und wie sag ich ihm jetzt welchen zeichensatz er beim importiern benutzen soll?
ich benutze den befehl "mysql" in der konsole. da gibt es die variable --default-character-set="blöök", aber ich bin mir nich sicher ob die überhaupt dafür vorgesehen ist...

btw, wie kann man feststellen welches charset eine datei hat? anscheinend hat sie ja utf-8, da ich sie damit im browser correct darstellen kann.

Code: Alles auswählen

 Variable   	                      Wert für diese Sitzung   	 Globaler Wert 
character set client   	                    utf8  	                latin1
character set connection 	                  utf8 	               latin1
character set database          	           latin1               latin1
character set results 	                     utf8 	               latin1
character set server 	                     latin1 	              latin1
character set system 	                      utf8 	                utf8
welche variable ist dafür genau zuständig, und wie stelle ich den globalen wert um? die unter "wert für diese sitzung" nützen mir ja nur in phpmyadmin etwas und nicht auf der console..

update:
ich seh grad das bei der import funktion eine charsetauswahl ist. hätt schwören können die war da gestern noch nicht..
naja jedenfalls habe ich ein kleineres dump als uft8 und als latin1 wieder eingespielt. beidesmal waren die umlaute nicht richtig.. ist damit das backup im eimer oder gibt es ne chance?

update2: wenn ich mysql_client_encoding($link) ausgebe sehe ich latin1, also ist der ausgabe-charset falsch. dh der müsste geändert werden. jetzt bleibt nurnoch die frage wie das dauerhaft geht

Antworten