[TYPO3-german] Umlaut-Problem bei Umzug der Datenbank

Martin Schoenbeck ms.usenet.nospam at schoenbeck.de
Mon May 31 13:20:55 CEST 2010


Hallo Johannes,

JCL - Johannes C. Laxander schrieb:

> Ich glaube ich muss hier noch mal deutlich machen was mein Problem ist. tut
> mir leid, sollte ich mich nicht verständlich genug ausgerdrückt haben.

Ich fand es hinreichend verständlich.

> Ich habe auf einem 1und1-Server (Hosting Paket) eine bestenende Typo3
> Datenbank, die ich auf einen Server bei jweiland.net (Hosting Paket)
> umziehen muss. Da ich auf dem 1und1-Server keine andere Möglichkeit als
> phpMyAdmin habe, musste ich mit phpMyAdmin einen Export der Datenbank
> erstellen. Diesen Export habe ich anschließend auf dem jweiland-Server mit
> mysql... über die Kommandozeile importiert. Ergebnis ist, dass Umlaute nicht
> als Umlaut sondern so dargestellt werden: "Törns" anstatt "Törns".
> 
> Daraufhin habe ich mir mit phpMyAdmin die Daten in der Ausgangsdatenbank auf
> dem 1und1-Server angesehen und festgestellt, dass z.B. deas Wort "Törns"
> eben als "Törns" in der Datenbank steht, zumindest zeigt es mir phpMyAdmin
> so an.

Was ja zunächst einmal nur besagt, daß die Bytes, die phpMyAdmin da stehen
sieht - was nicht zwingend die sind, die auch tatsächlich in der Datenbank
stehen - wohl utf8-codiert sind, ohne daß phpMyAdmin davon weiß bzw. das
berücksichtigt. Du schriebst ja schon, daß Du kein SET NAMES gemacht
hattest, vermutlich aber dennoch Dein TYPO3 angewiesen hattest, in utf8 zu
speichern.

> Und im Exportfile von phpMyAdmin steht im Create Datenbank "DEFAULT
> CHARACTER SET latin1 COLLATE latin1_german2_ci;". Daraus lässt sich wohl
> schließen, dass die Daten in latin1 abgespeichert wurden, oder?

Ja. Hat aber mit Deinem Problem nichts zu tun. Wie die Daten in der
Datenbank gespeichert werden, ist zweitrangig. Wenn Du sie als ut8-codierte
Daten an MySQL schickst und ihm das auch ordentlich mitteilst (SET NAMES),
dann werden sie eben vor dem Abspeichern nach latin1 gewandelt und vor dem
Ausliefern an Dich wieder zurück. Sagst Du MySQL stattdessen, Du schicktest
ihm latin1-codierte Daten, dann werden die vor dem Abspeichern und
Ausliefern eben nicht gewandelt. Soweit kein Problem. Zum Problem wird das
erst, wenn Du der Datenbank plötzlich sagst, daß Du die Daten in utf8
transportieren willst. Dann werden die Daten aus der Datenbank, die da in
latin1 drinstehen, vor dem Ausliefern nach utf8 umgewandelt. Sie _sind_
aber ja schon ut8-codiert, Du bekommst also für ein Ü dann plötzlich vier
Bytes statt deren zwei geliefert. Du mußt also dafür sorgen, daß der Export
ohne eine solche Umcodierung stattfindet, also in latin1 und der Import
danach aber glaubt, die Daten seien in der Datei in utf8 gespeichert. Beim
normalen Export erreichst Du das durch die von mir genannten Zeilen. Bei
phpMyAdmin weiß ich nicht, ob die standardmäßig in utf8 exportieren oder ob
man das irgendwo angeben kann.

> So, und nun ist eben die Frage, wie muss ich vorgehen, um die latin1-Daten
> aus der 1und1-Datenbank in utf8 umzuwandeln um diese dann anschließend in
> die Datenbank (utf8) bei jweiland.net zu importieren.

Versuch pspad, wenn Du keinen Weg mit phpMyAdmin findest.

Gruß Martin
-- 
Bitte nicht an der E-Mail-Adresse fummeln, die paßt so.


More information about the TYPO3-german mailing list