Datenbank mit inhalten der charsets (windows 1250,1252, 1251, iso 8859-1) in UTF-8 umstellen. [Gelöst]

  • muellera muellera
    T3PO
    0 x
    28 Beiträge
    0 Hilfreiche Beiträge
    06. 02. 2008, 14:41

    Hallo Gemeinde,

    nachdem ich mich nun seit 2 tagen mehr oder weniger erfolglos mit dem umzug einer bestehenden Typo3 installation auf einen neuen Server und gleichzeit umstellung der datenbank auf UTF-8 beschäftige wollte ich nun doch nochmal nachfragen was ich falsch mache.

    Tutorial und HowTos (in diesem und anderen Foren die sich mit dem Thema beschäftigen hab ich schon alle durch)

    Ausgans situation:
    rootserver und typo3 V 4.1

    Root
    |
    |- Domain.de
    |- Domain.com
    |- Domain.it
    |- Domain.fr
    |- Domain.es
    |- ---------
    |- Domain.bg (Bulgarisch) Kyrillisch
    |- Domain.hu (Ungarisch)

    meine datenbank hat sehr seltsame Charset Uinstellungen
    show variables; zeigt folgendes

    character_set_client utf8
    character_set_connection utf8
    character_set_database latin1
    character_set_results utf8
    character_set_server latin1
    character_set_system utf8
    character_sets_dir xxxxxxxx/mysql/charsets/
    collation_connection utf8_general_ci
    collation_database latin1_general_ci
    collation_server latin1_swedish_ci

    (Hab den serve rnicht eingerichtet darum is nu ein neuer fällig)

    in typo3 BE wird der charset ja richtig dargestellt wenn der User die entsprechende Sprache zugeordnet ist, die ausgabe ebenfalls über Meta Tag.

    ------------
    Nun will ich das ganze umziehen auf einen neuen Root mit utf8 datenbank.

    Bisherige versuche:

    1. Typo3 installiert

    2. Alte Datenbank
    2.1 gedumpt und alle latin1 collations und charset einstellungen entfernt und in neue datenbank eingespielt
    ergebnis: alle iso charset halbwegs ok

    2.2 converttoutf8 extension vorher angewendet gedumpt collations geändert, eingespielt = keine ä,ö,ü und die hu und bg domain war nen fiasco

    2.3 dann noch das tutorial mit dem db_convert script auch nur schlechte ergebnisse.

    Ich muss irgend wo einen denk fehler haben oder irgend eine einstellung passt nicht.

    Vielleicht kennt einer das Problem oder kann mirauf die sprünge helfen.

    [b]Überlegung[/b]
    die damains aus dem typo3 als t3d datei zu exportieren und im neuen typo wieder einzuspielen will nicht wiklich klappen da importier er mir nix.

    Sollangsam vergeht mir die Lust am umzug :(
    Grüße Andreas


  • 1
  • marki marki
    R2-D2
    0 x
    97 Beiträge
    0 Hilfreiche Beiträge
    22. 04. 2008, 11:37

    Hi Andreas,

    ich habe ein ähnliches Problem: Umzug von Teilen eines TYPO3-Seitenbaumes auf einen neuen Server. Müsste beim Komplett-Umzug aber ja dasselbe Problem sein.
    Alter Server TYPO3 Version 3.7, mysql charset "iso 8859-1", neuer Server TYPO3 Version 4.x, mysql charset UTF-8. Ich kann den Seitenbaum als t3d exportieren. Beim Import auf dem neuen Server startet der Import auch, bricht
    dann aber immer bei den Umlauten/Sonderzeichen ab, ist also nicht brauchbar. Wenn man die t3d-Datei in UTF-8 konvertiert, dann stimmt beim Import der MD5-Hash nicht mehr, geht also auch nicht. Du hast diesen Thread als "gelöst" markiert, wäre klasse, wenn Du evtl. schreiben könntest, wie Du vorgegangen bist mit Deinem Umzug? Danke und Grüßle,
    marki

  • muellera muellera
    T3PO
    0 x
    28 Beiträge
    0 Hilfreiche Beiträge
    22. 04. 2008, 13:30

    Uff

    also meine Vorgehensweiße war mit einigem "try&Error" Versuchen.

    hab erstmal auf dem Alten Server eine kopie des Typo3Projektes angelegt.
    http Dateien sowie datenbank

    in der Testumgebung hab ich dann nach fehlversuchen einfach immerwieder den mysqldump eingespielt.

    convert2utf8 extension instaliert.

    dann hab ich (wunderlicherweiße) die die Domainbäume die in windows1250 liefen sogelassen wie sie waren.

    bg hu domains hab ich den convert2utf8 drübergejagt danach einen kompletten mysqldump gezogen.

    diesen auf den neuen server überspielt mit und in der sqldump datei alle collation und charset einträge mit utf-8 ersetzt von den tabellen sowie den einzelen spalten geht unter linux ganz gut mit

    sed 's/CHARSET=latin1/CHARSET=utf8/' backupfile.sql > backup_charset.sql
    sed 's/collate latin1_general_ci//' backup_charset.sql > backup_collate.sql
    sed 's/COLLATE=latin1_general_ci//' backup_collate.sql > backup_all_changed.sql

    der erste ändert "CHARSET=latin1" in "CHARSET=utf8"
    die anderen beiden sschmeißen alles raus und ersetzen mit nix.

    der mysql server sollte natürlich komplett auf utf8 laufen.

    mysql und php entsprechend konfiguriert.
    danach den bearbeitet dump eingespielt.
    ein paar hochkommata blieben leider auf der strecke.

    Wenn du nun nur einen Teil baum einspielen willst einfach vorher convert2utf8 auf das baum stück und exportieren und wieder im neuen system importieren so würd ich das ganze machen.

    Viel erfolg bei fragen einfach melden.
    Gruß Andreas

  • marki marki
    R2-D2
    0 x
    97 Beiträge
    0 Hilfreiche Beiträge
    22. 04. 2008, 13:56

    Ui, super!
    Danke für Deine schnelle Antwort! :-)
    Ich werds mal probieren.

    Eine Frage nur noch zu "convert2utf8". Ich will ja die alten charset nicht verändern. Der alte Server läuft so weiter in iso 88...
    Wenn ich "convert2utf8" installiere, dann ändere ich nicht die bestehende DB/Inhalte, oder? Ich möchte ja nur die exportierte Seitenbaum-Teil-t3d-Datei im charset UTF-8 haben...

    Beste Grüße,
    marki

  • muellera muellera
    T3PO
    0 x
    28 Beiträge
    0 Hilfreiche Beiträge
    22. 04. 2008, 16:37

    mach dir ein zweites project wo du das machen kannst.

    wenn du convert2utf8 auf einen seitenbaum ausführst ändert er das in der datenbank, darum hab ich mit ein test verzeichnis mit typo3 und einer eigenen datenbank gemacht.

    sonnst machst dir den die aktuelle kaputt.

  • marki marki
    R2-D2
    0 x
    97 Beiträge
    0 Hilfreiche Beiträge
    23. 04. 2008, 11:18

    ... alles klar.

    Danke!
    Grüßle,
    marki

  • 1