Keine Umlaute mit GIFBUILDER [Gelöst]

  • hebi hebi
    TYPO3-Anwärter
    0 x
    5 Beiträge
    0 Hilfreiche Beiträge
    17. 08. 2006, 12:03

    Hallo, habe folgendes Problem:

    Bei der Darstellung von grafischen Menüs oder grafischen Texten mit GIFBUILDER werden die deutschen Umlaute nicht richtig wiedergegeben. Wenn ich die Umlaute als HTML-Entitäten angebe, werden diese als solche ausgegeben (z.B. ü)

    In allen anderen Fällen (TMENU, usw.) ist die Anzeige aber in Ordnung.

    Meine Versionen:
    Typo3 4.0 auf SuSE 10.1

    Weiß wer eine Lösung für das Problem?


  • 0 x
    15 Beiträge
    0 Hilfreiche Beiträge
    24. 06. 2008, 15:30

    1. $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8'.chr(10).'SET CHARACTER SET utf8'.chr(10).'SET SESSION character_set_server = utf8'.chr(10).'SET character_set_connection = utf8';
    2. $TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';

    So läuft es bei mir erfolgreich. Wenn deine Datenbank vorher auf ISO-8859-1 stand, dann wirst du wohl erst mal einen dump machen müssen und den dump dann in eine utf8_general_ci importieren müssen. Google mal nach TYPO3 Datenbank konvertieren utf-8.

    andreas

  • McPringle McPringle
    R2-D2
    0 x
    97 Beiträge
    0 Hilfreiche Beiträge
    24. 06. 2008, 15:43

    Ich habe hier ein PHP-Skript, dass die Datenbank komplett konvertiert. Es ist zwar ursprünglich für WordPress geschrieben worden, aber Schema und Inhalt der DB ist dem Skript egal. vorher unbedingt ein Backup machen und im Skript die Zuugangsdaten zur Datenbank eintragen:

    http://www.fihlon.ch/fileadmin/downloads/convert-encoding.phps

    Auf eigene Gefahr...

    McPringle

  • BastianBalthasarBux BastianBa...
    Jedi-Ratsmitglied
    0 x
    758 Beiträge
    9 Hilfreiche Beiträge
    03. 07. 2008, 10:16

    es gibt auch eine extension für die konvertierung von iso auftritten in utf8 auftritte (im ter nach utf suchen sollte helfen).
    aufpassen muss man aber wenn man zb. typoscript in dateien verwendet -> muss auch in utf8 konvertiert werden (zb mit ultraedit). besonders wenn man locallang werte dort einträgt.
    genauso mit html templates.

    To err is human; to really screw things up requires the root password.
    https://www.Riccabona.IT/
    https://T3BOARD.TYPO3.org/

  • Gunah Gunah
    Jedi-Meister
    0 x
    282 Beiträge
    0 Hilfreiche Beiträge
    26. 08. 2008, 10:37

    das Script von "McPringle" ist nicht schlecht, nur empfehle ich vorher die ganzen Cache tabellen zu leeren, und dann das Script zu starten sonst dauert das zu lange...

    Gruß
    Gunah

    EDIT://
    habe jetzt alle Tabellen in utf8 (per PHPmyAdmin kontrolliert), die Extension: cr_bugfix_5078 installiert leider ist das ergebnis immer noch das gleiche...
    Ohne Extension ist es so "ber Uns"
    Mit Extension ist es so "Ãber Uns"

    habe die DB vorher mit dem Script von McPringle konvertiert dann die Local angepasst:

    1. $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8'.chr(10).'SET CHARACTER SET utf8'.chr(10).'SET SESSION character_set_server = utf8'.chr(10).'SET character_set_connection = utf8';
    2. $TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
    3. $TYPO3_CONF_VARS['GFX']['TTFLocaleConv'] = '';

    EDIT-2://
    habe den "Fehler" gefunden...
    Ich habe in der "class.ux_tslib_gifbuilder.php" folgendes geändert:

    1. return mb_encode_numericentity($content,$convmap);

    zu
    1. return mb_encode_numericentity($content,$convmap,mb_detect_encoding($content, "auto"));

    danach wurden alle Umlaute angezeigt

    Edit-3:// Könnte man nicht bei der EXT. eine Option reinbauen, welchen Mode man benutzen will?
    wie bei tt_news usw...

    Edit-4: habe jetzt die funktion auf class.ux_tslib_gifbuilder.php gelöscht und die andere angefügt...

    Gruß
    Mathis

  • Gunah Gunah
    Jedi-Meister
    0 x
    282 Beiträge
    0 Hilfreiche Beiträge
    03. 09. 2008, 17:55

    wer das letzt Beschriebene Problem hat. und alles auf UTF-8 Umgestellt hat und Trotzdem keine Umlaute angezeigt bekommt, kann erstmal mit dieser Extension lösen.

    http://serviceconnect.de/dev/mk_bugfix_5078_add.t3x
    liegt jetzt auch im TER

    Ich hoffe das die Änderungen, die in dieser Extension sind auch bald in die "Orginale" Extension kommt...
    eine E-Mail habe ich dazu schon verschickt... naja mal gucken...

    Beim Testen bei mir funktioniert alles wie es soll :)
    [i]Nutzung auf eigene Gefahr...[/i]

    Sollte Typo3 mit einer ISO Kodierung betrieben werden, funktioniert meine Extension hier nicht...

  • christe christe
    Padawan
    0 x
    42 Beiträge
    0 Hilfreiche Beiträge
    12. 01. 2009, 19:08

    Hallo,
    ich rolle dass hier einfach nochmal auf:
    Ich würde gerne mit dem GIFBUILDER auch kyrillische Zeichen und andere internationale Zeichen (z.B. Chinesisch) verwenden. Umlaute funktionieren mit der hier im Thread Lösung ausgezeichnet.
    Muss ich theoretisch nur die conversionmap (in der EXT mk_bugfix_5078-) ändern ? Oder sollte das mit dem richtigen Font auch funktionieren ?
    Gruß,
    Christoph

  • gkai gkai
    TYPO3-Anwärter
    0 x
    4 Beiträge
    0 Hilfreiche Beiträge
    04. 04. 2009, 08:41

    Uargh ... Sechs Stunden Arbeit, bis meine Umlaute in grafischen Überschriften funktioniert haben. Ich fasse die Schritte aus diesem Thread, die bei mir dann letztendlich funktioniert haben, mal zu einer Checkliste zusammen, um anderen den Weg zu erleichtern:

    1. Typo3 umstellen auf utf-8
    1.1. Im Server-Adminpanel einstellen, dass die Typo3-Datenbank UTF8 verwendet.
    1.2. In der localconf einfügen
    [HTML]$TYPO3_CONF_VARS['GFX']['TTFLocaleConv'] = '';
    $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;';
    $TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8'; [/HTML]
    1.3. Im Setupbereich des Haupttemplates einfügen:
    [HTML]page.config.metaCharset = utf-8
    page.config.additionalHeaders = Content-Type:text/html;charset=utf-8
    page.config.renderCharset = utf8[/HTML]
    1.4. Die Extension convert2utf8 installieren und damit den kompletten Seitenbaum wandeln lassen
    1.5. Wenn die Sonderzeichen in den Content Elementen danach kaputt, von Hand mit den richtigen Zeichen überschreiben

    2. utf-8-Font bereitstellen
    2.1. Mit FontForge (ist kostenlos downloadbar) prüfen, ob die gewählte Schrift in utf-8 bzw. Unicode kodiert ist. Wenn nicht: Encoding - Reencode - ISO 10646-1, dann File - Generate Font.
    2.2. Font auf den Server laden
    2.3. Im Setup-Template für die grafischen Überschriften den korrigierte Font einstellen, wenn er unter anderem Namen gespeichert ist als der Ursprungsfont

    3. GIFBUILDER-Fehler korrigieren
    3.1 Extension cr_bugfix_5078 installieren
    3.2 Wenn die Umlaute noch nicht funktionieren: In Datei class.ux_tslib_gifbuilder.php (Pfad: typo3conf/ext/cr_bugfix_5078-) Zeile 43 auskommentieren und bei Zeile 44 die Auskommentierung entfernen, so dass da steht
    [HTML]//return mb_encode_numericentity($content,$convmap);
    return mb_encode_numericentity($content,$convmap,mb_detect_encoding($content, "auto"));[/HTML]

    Damit war das Problem bei mir ausgestanden. Falls es noch nicht behoben ist, kann man wohl noch die Extension mk_bugfix_5078_add zusätzlich installieren, das war bei mir aber nicht nötig.

    Insbesondere die Sache mit der falschen Font-Codierung ist nervig, vier Stunden hat es mich gekostet, diesen Fehler zu bemerken ... Aber nun, [url]http://www.alligatorfarm.de[/url] läuft, die Leute können wieder Perry Rhodan-Comics kaufen, und alle sind glücklich. Nur ich bin müde.

    Beste Grüße
    Kai[/url]

  • 0 x
    15 Beiträge
    0 Hilfreiche Beiträge
    04. 04. 2009, 16:43

    Puh, was ne Mühe. Wollte nur noch korrigiert haben, dass du folgende 3 Zeilen ersatzlos streichen kannst.

    1. page.config.metaCharset = utf-8
    2. page.config.additionalHeaders = Content-Type:text/html;charset=utf-8
    3. page.config.renderCharset = utf8

    Erklärung:

    weil du

    $TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';

    gesetzt hast, wird dieser Wert default für metaCharset und renderCharset genommen. utf8 wäre übrigens falsch, utf-8 richtig. Der Header wird auch default gesendet, siehe Erklärung zu disableCharsetHeader in der TSRef. Alle Infos aus der TSRef.

    Gruß Andreas

  • toifel toifel
    Jedi-Ratsmitglied
    0 x
    831 Beiträge
    96 Hilfreiche Beiträge
    24. 09. 2010, 10:39

    Noch einmal herzlichen Dank an alle, die hier dran beteiligt waren... der Thread hat mir ne Menge Zeit erspart, mit der Step-by-Step Beschreibung von gkai hat's letztendlich super funktioniert!