Serverwechsel und nun ein Umlauteproblem mit Typo3

  • abalorio abalorio
    T3PO
    0 x
    17 Beiträge
    0 Hilfreiche Beiträge
    05. 12. 2011, 15:07

    Hallo Forum,
    die Spezis unter euch werden sicherlich dieses Problem schon kennen, da ich heute bereits mehrere Einträge (Google, hier, etc.) gefunden habe. Leider hat mir nicht bei der Lösung des Problems geholfen. Folgendes hab ich gemacht:

    1. MySQL-Dump + Typo3-Daten sind auf ein neues System gezogen.
    2. Umlaute werden nicht mehr angezeigt.
    -> 2.1. Im Quellcode der WebSite steht "<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />".
    -> 2.2. Config-Einstellungen:

    1. $TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
    2. $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;';
    3. 'SET CHARCTER SET utf8;';
    4. $TYPO3_CONF_VARS['SYS']['UTF8filesystem'] = '1';
    5. $TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';

    Nun hab ich rausgefunden, dass der alte Server bzw. mysql auf latin-1 gestellt war (Verarbeitung, DB, etc.) und der neue Server auf utf8. Ist nehme an, dass dies die Ursache des Problems ist. Hat jemand von euch eine Idee was ich nun machen muss?

    Vielen Dank für jede Hilfe.


  • abalorio abalorio
    T3PO
    0 x
    17 Beiträge
    0 Hilfreiche Beiträge
    07. 12. 2011, 19:42

    [quote="marmu"]
    In der alten Db hast Du mit latin1 übertrage Daten in eine utf-8 Tabelle geschrieben:
    in der Datenbank steht für also ein latin1 ü in utf8. Wenn das ausgelesen wird, wird da wieder ein latin1 ü draus und in der Darstellung ist alles gut.
    Die Umlaute in der Datenbank sind aber "kaputt".

    Das für ist ein für nochmals in utf8 umgewandelt.

    [/quote]

    Gibt es nicht irgendweine Möglichkeit quasi die alte DB mit Inhalt "für" auch wieder auf dem neuen Server wieder einzuspielen? Warum macht mySQL bei einem Dump daraus "für"? Anscheinend funktioniert es ja nicht, den DUMP umzubauen ohne das Texte verschwieden oder die Seiten anschließend fehlerhaft angezeigt werden.

  • marmu marmu
    Padawan
    0 x
    47 Beiträge
    0 Hilfreiche Beiträge
    08. 12. 2011, 09:03

    [quote="abalorio"]
    Gibt es nicht irgendweine Möglichkeit quasi die alte DB mit Inhalt "für" auch wieder auf dem neuen Server wieder einzuspielen? Warum macht mySQL bei einem Dump daraus "für"? Anscheinend funktioniert es ja nicht, den DUMP umzubauen ohne das Texte verschwieden oder die Seiten anschließend fehlerhaft angezeigt werden.
    [/quote]

    Wenn die collation der alten und neuen DB gleich sind, kann das gehn.
    Hast Du schon versucht die import/export Funktion von T3 zu nutzen?

  • 0 x
    91 Beiträge
    0 Hilfreiche Beiträge
    11. 01. 2012, 00:52

    hallo abalorio & marmu,

    gibt es zu dem beschriebenen Problem von abalorio mittlerweile eine Lösung? Ich führe nämlich wie abalorio folgende iconv Anweisung aus:

    1. iconv -f UTF-8 -t ISO-8859-1 backup.sql > dump-iconv.sql

    die mit folgender Fehlermeldung quittiert wird:

    1. iconv: illegal input sequence at position 11144561

    Schaue ich in den Dump "dump-iconv.sql" rein (der nur 10 MB groß ist), sehe ich, dass iconv in der Tabelle "cache_hash" hängen geblieben ist. Dort befindet sich ein Datensatz mit einem BLOB-Wert (im Feld content) der nicht verarbeitet wird. Weiß der Geier warum nicht.

    Aber ich habe auch mittlerweile keine Idee, wie ich das Problem umgehen kann. Die DB ist in latin1 (für den Dump backup.sql) erzeugt und die Kollation für die Tabellen ist utf8_general_ci.

    Hat irgend einer eine Idee? Das tolle Skript db_utf8_fix.php, das sich unter http://wiki.typo3.org/UTF-8_support findet, bleibt leider bei der Tabelle sys_log hängen... #angry#

  • lisardo lisardo
    Jedi-Meister
    0 x
    306 Beiträge
    0 Hilfreiche Beiträge
    11. 01. 2012, 11:02

    Hallo rob-master,

    leer vor dem Erstellen des Dumps die Tabelle cache_hash einfach aus. Das sind temporär-Daten, die sowieso neu geschrieben werden. Dito cache_extensions ... dadurch wird der Dump vermutlich auch schön handlich klein.

    (Ausleeren, nicht löschen! Truncate ... Die Tabellen brauchts schon ...)

    Peter, [url=http://www.typo3-lisardo.de]TYPO3 @ lisardo (Augsburg)[/url]

  • 0 x
    91 Beiträge
    0 Hilfreiche Beiträge
    11. 01. 2012, 14:04

    Hallo ilsardo,
    danke für deinen schnellen Hinweis!!!
    Also ich habe nun mal vor der Dump-Erstellung die Tabellen cache_extensions und cache_hash geleert und danach den Dump erstellt. Mit der iconv Anweisung danach wieder die Konvertierung angestoßen:

    iconv -f UTF-8 -t iso-8859-1 db216246_41_2.sql > dump-iconv.sql

    und als Ergebnis kommt wieder: iconv: illegal input sequence at position 311069 #paralyzed#

    Wenn ich mir den unfertigen Dump ansehe, dann ist iconv anscheinend diesmal in der cache_pages Tabelle hängen geblieben und das bereits beim zweiten INSERT Statement. Allerdings ist an der Abbruchstelle noch nicht mal ein Sonderzeichen zu sehen. Mir ist das völlig schleierhaft...

    Hat noch jemand einen heißen Tipp?

  • abalorio abalorio
    T3PO
    0 x
    17 Beiträge
    0 Hilfreiche Beiträge
    16. 01. 2012, 19:19

    Nein, leider habe ich keine Lösung für mein Problem. Ich hab mittlerweile die korrekten Daten in der DB aber die Darstellung funktioniert noch immer nicht. Hatte leider auch keine Zeit mich weiter darum zu kümmern. Bin jetzt wieder dran...

  • abalorio abalorio
    T3PO
    0 x
    17 Beiträge
    0 Hilfreiche Beiträge
    19. 01. 2012, 13:48

    Hey, ich hab nun fast alles probiert und bisher hat kein Lösungsansatz funktioniert. Hat jemand noch eine Idee? Foglendes ist bisher passiert:

    DB-Einstellung von mySQL:

    1. character_set_client utf8
    2. character_set_connection utf8
    3. character_set_database utf8
    4. character_set_filesystem binary
    5. character_set_results utf8
    6. character_set_server utf8
    7. character_set_system utf8
    8. character_sets_dir /usr/share/mysql/charsets/
    9. collation_connection utf8_general_ci
    10. collation_database utf8_general_ci
    11. collation_server utf8_general_ci

    die einzelnen Tabellen laufen ebenfalls auf utf8_general_ci.

    In der Config von typo3 steht nun folgendes:

    1. <?php
    2. $TYPO3_CONF_VARS['SYS']['sitename'] = 'New TYPO3 site';
    3. $TYPO3_CONF_VARS['BE']['installToolPassword'] = 'xxx';
    4. $TYPO3_CONF_VARS['EXT']['extList'] = 'tsconfig_help,context_help,extra_page_cm_options,impexp,sys_note,tstemplate,tstemplate_ceditor
    5. ,tstemplate_info,tstemplate_objbrowser,tstemplate_analyzer,func_wizards,wizard_crpages,wizard_sortpages,lowlevel,install,belog,beuse
    6. r,aboutmodules,setup,taskcenter,info_pagetsconfig,viewpage,rtehtmlarea,css_styled_content,t3skin';
    7. $typo_db_extTableDef_script = 'extTables.php';
    8.  
    9. ## INSTALL SCRIPT EDIT POINT TOKEN - all lines after this points may be changed by the install script!
    10.  
    11. $typo_db_username = 'db_user'; // Modified or inserted by TYPO3 Install Tool.
    12. $typo_db_password = 'db_pass'; // Modified or inserted by TYPO3 Install Tool.
    13. $typo_db_host = 'localhost'; // Modified or inserted by TYPO3 Install Tool.
    14. $TYPO3_CONF_VARS['SYS']['encryptionKey'] = 'xxx'; // Modified or inserted by TYPO3 Install Tool.
    15. $TYPO3_CONF_VARS['SYS']['compat_version'] = '4.2'; // Modified or inserted by TYPO3 Install Tool.
    16. $typo_db = 'db_cms'; // Modified or inserted by TYPO3 Install Tool.
    17. $TYPO3_CONF_VARS['BE']['installToolPassword'] = 'xxx'; // Modified or inserted by TYPO3 Install To
    18. ol.
    19. $TYPO3_CONF_VARS['FE']['disableNoCacheParameter'] = '0'; // Modified or inserted by TYPO3 Install Tool.
    20. // Updated by TYPO3 Install Tool 25-05-08 19:29:28
    21. $TYPO3_CONF_VARS['EXT']['extList'] = 'css_styled_content,tsconfig_help,context_help,extra_page_cm_options,impexp,sys_note,tstemplate
    22. ,tstemplate_ceditor,tstemplate_info,tstemplate_objbrowser,tstemplate_analyzer,func_wizards,wizard_crpages,wizard_sortpages,lowlevel,
    23. install,belog,beuser,aboutmodules,setup,taskcenter,info_pagetsconfig,viewpage,rtehtmlarea,t3skin,csh_de,static_info_tables,templavoi
    24. la,doc_indexed_search,indexed_search'; // Modified or inserted by TYPO3 Extension Manager.
    25. // Updated by TYPO3 Extension Manager 16-06-08 16:56:25
    26. $TYPO3_CONF_VARS['SYS']['UTF8filesystem'] = '1'; // Modified or inserted by TYPO3 Install Tool.
    27. $TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8'; // Modified or inserted by TYPO3 Install Tool.
    28. $TYPO3_CONF_VARS['GFX']['im_path'] = '/usr/bin/'; // Modified or inserted by TYPO3 Install Tool.
    29. $TYPO3_CONF_VARS['GFX']['im_version_5'] = 'im5'; // Modified or inserted by TYPO3 Install Tool.
    30. $TYPO3_CONF_VARS['GFX']['im_combine_filename'] = 'composite'; // Modified or inserted by TYPO3 Install Tool.
    31.  
    32. // freigabe von php dateien zum upload
    33. //$TYPO3_CONF_VARS['BE']['fileExtensions']['webspace']['deny'] = '';
    34. //$TYPO3_CONF_VARS['BE']['fileExtensions']['webspace']['allow'] = '*';
    35. //$TYPO3_CONF_VARS['BE']['fileDenyPattern'] = '';
    36.  
    37. $TYPO3_CONF_VARS['EXT']['noEdit'] = '0'; // Modified or inserted by TYPO3 Install Tool.
    38. // Updated by TYPO3 Install Tool 18-06-08 17:20:39
    39. // Updated by TYPO3 Extension Manager 28-07-08 10:58:10
    40. $TYPO3_CONF_VARS['GFX']['image_processing'] = '1'; // Modified or inserted by TYPO3 Install Tool.
    41. $TYPO3_CONF_VARS['GFX']['gdlib_png'] = '1'; // Modified or inserted by TYPO3 Install Tool.
    42. // Updated by TYPO3 Install Tool 24-03-09 11:03:05
    43. $TYPO3_CONF_VARS[SYS][setDBinit] = 'SET NAMES utf8;';
    44.  
    45. $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;'.chr(10).'SET character_set_client = utf8;'.chr(10).'SET character_set_resul
    46. ts = utf8;'; // Modified or inserted by TYPO3 Install Tool.
    47. ?>

    Also ich bin mit meinem Latein echt am ENDE!! :-/ :-(

    Bin für jede Hilfe DANKBAR!! ;-)

  • 0 x
    91 Beiträge
    0 Hilfreiche Beiträge
    19. 01. 2012, 14:03

    Hallo Abalorio,

    bei mir hat es nun hingehauen. Allerdings bin ich einen ganz anderen Weg gegangen und habe die Daten Lokal in den richtigen Zeichensatz konvertiert. Das kannst du unter Windows ganz prima mit [url=http://www.editpadpro.com/]Edit Pad Pro[/url] machen.

    Du würdest dann die Datei im latin1 Encoding öffnen und diese dann in UTF-8 konvertieren. Danach sollte es funktionieren.

  • abalorio abalorio
    T3PO
    0 x
    17 Beiträge
    0 Hilfreiche Beiträge
    20. 01. 2012, 10:06

    [quote="rob-master"]
    Hallo Abalorio,

    bei mir hat es nun hingehauen. Allerdings bin ich einen ganz anderen Weg gegangen und habe die Daten Lokal in den richtigen Zeichensatz konvertiert. Das kannst du unter Windows ganz prima mit [url=http://www.editpadpro.com/]Edit Pad Pro[/url] machen.

    Du würdest dann die Datei im latin1 Encoding öffnen und diese dann in UTF-8 konvertieren. Danach sollte es funktionieren.
    [/quote]

    Hi, mir ist nicht ganz klar worin der Unterschied liegen soll. Also in der DB steht ja z.B. "ü" anstatt des ü. Oder wird das in deiner Variante in ein ü umgewandelt? Das komische ist ja, dass die Datenbanken identisch sind. Auf dem alten Server läuft ja alles prima und die DB´s sind identisch. Demnach muss es eigentlich an die DB-Verbindung, Datenlesung oder irgendwelchen Einstellungen von Typo3 liegen??!

    LG