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?


  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    17. 08. 2006, 12:19

    kann die Schrift sie?

    georg

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

    Ja - es handelt sich um verdana.ttf aus dem Windows\Fonts-Verzeichnis.

  • hebi hebi
    TYPO3-Anwärter
    0 x
    5 Beiträge
    0 Hilfreiche Beiträge
    19. 08. 2006, 10:26

    Ich konnte leider das Problem noch nicht lösen, wohl aber
    eine Eingrenzung vornehmen:

    1. Mit der Aktivierung von forceCharset = utf-8 im Install-Tool konnte ich erreichen, dass die Umlaute auch in die TYPO3-MySQL-Datenbank gespeichert wurden. Das war vorher für mich nicht offensichtlich - zumindest konnte ich keine Umlaute bei direkten Abfragen mit dem mysql-Client auf die Tabellen tt_content oder pages in der Bash sehen. Alle Texte mit Umlauten musste ich natürlich vorher im Backend ändern. Der GIFBUILDER blieb von dieser Aktion aber unbeeindruckt (auch nach dem Löschen des Inhalts von typo3temp/GB und Leeren des Typo3-Caches)

    2. Bei der direkten Verwendung von ImageMagick (meine Version ist 6.2.5) in der Bash mit convert und auch mit der im Typo3-Template verwendeten Schriftdatei (vertana.ttf) werden die Umlaute richtig dargestellt!

    3. Ich nehme an, dass auch das GIFBUILDER-Objekt ImageMagick-Funktionen direkt aufruft. Jetzt bleibt nur mehr die Frage offen: Woher bekommt (bzw. durch welche Filter) geht der Text, den das GUIFBUILDER-Objekt an ImageMagick übermittelt. Dieser Text ist in der MySQL-Datenbank UTF-8 codiert und muss irgendwie bei dem Transfer verändert werden.

    Ist das vielleicht ein TYPO3-Bug?

  • steffenk steffenk
    Obi-Wan Kenobi
    0 x
    4666 Beiträge
    0 Hilfreiche Beiträge
    19. 08. 2006, 11:56

    aus einem anderen thread habe ich folgendes erfahren:

    Das Problem war wirklich der Font mit den erweiterten Zeichensätzen.
    Nachdem die Schrift mit TransType (http://www.fontlab.com/Font-tools/
    TransType/) zu einem ttf umgewandelt war, lief alles Problemlos. An
    dieser Stelle noch mal ein fetter Dank an Michael!

    vielleicht ein Ansatz.

  • hebi hebi
    TYPO3-Anwärter
    0 x
    5 Beiträge
    0 Hilfreiche Beiträge
    19. 08. 2006, 13:29

    Danke für diesen Hinweis, aber:
    Wenn bei der direkten Verwendung der ttf-Datei mit ImageMagick in der Bash mit

    convert -font .../fileadmin/fonts/verdana.ttf -pointsize 25 -fill white -draw "text 10,35 'Test: ÜüÖöÄäß'" vorlage.jpg testbild.jpg

    in das aus vorlage.jpg erstellte neue Bild "testbild.jpg" der Text mit allen Umlauten geschrieben wurde, kann es eigentlich nicht an der verwendeten Schrift liegen. Auch nicht an meiner installierten ImageMagick-Version.

    Im nächsten Schritt werde ich versuchen, einen solchen ImageMagick-Aufruf aus PHP heraus zu probieren, dann kann ich sehen, ob das SuSE-Apache-php-Modul dieses Problem verursacht.

    Mühsam, mühsam ...

  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    19. 08. 2006, 16:41

    hab da jetzt ein mail nur teils im kopf (kann erst nächste woche nachschlagen) und da hing das Problem vom Titel ab, je nach Setzung von leerzeichen (und/oder bindestrich) gabs umlaute oder auch nicht...

    georg

  • hebi hebi
    TYPO3-Anwärter
    0 x
    5 Beiträge
    0 Hilfreiche Beiträge
    20. 08. 2006, 02:07

    Ich habe jetzt herausgefunden, dass es an der GDLib-Version liegt, die bei SuSE 10.1 verwendet wird. Es handelt sich um das Paket php5-gd, welches in der Version 5.1.2 vorliegt.

    Ich habe in einem PHP-Skript mit ImageCreate() und ImageFTText() - das sind Befehle aus dem php5-gd-Modul - eine Grafik mit TTF-Text erzeugt: Dabei werden die deutschen Umlaute nicht richtig angezeigt!

    In der PHP-Dokumentation zu ImageFTText() bzw. ImageTTFText() ist zu lesen: ... der auszugebende String, der auch UTF-8-Zeichenfolgen enthalten darf (z.B. &# 123;).

    Damit ließ sich ein "Work-Around" für mein Problem basteln: Im BE müssen bei Texten, die Umlaute enthalten und aus denen mit GIFBUILDER Texte erzeugt werden sollen die Umlaute wie folgt kodiert werden:

    Ä: &# 196;
    ä: &# 228;
    Ö: &# 214;
    ö: &# 246;
    Ü: &# 220;
    ü: &# 252;
    ß: &# 223;

    (Das Leerzeichen nach &# muss natürlich jeweils weggelassen werden!)

    LG

  • BastianBalthasarBux BastianBa...
    Jedi-Ratsmitglied
    0 x
    758 Beiträge
    9 Hilfreiche Beiträge
    13. 08. 2007, 17:43

    Vielleicht ganz gute Querverlinkung:

    http://bugs.typo3.org/view.php?id=5078

    und das hier auch:

    http://www.typo3.net/forum/list/list_post//51279/?page=1

    PS: Ich weiss, ist schon älter der Thread, aber der Bug tritt leider immer noch auf. Zumindest bei mir auf einem openSuSE 10.2 mit php5 inkl. aller updates.
    Und ich hab wenig bock auf php5 neu kompilieren. :-(

    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
    22. 08. 2007, 10:26

    ich roll das Thema hier mal wieder neu auf ... (bitte nich hauen :) )

    also bei mir ist es so der Apache2 und PHP5 sind ca. gleiche Konfiguriert wurden und die DB natürlich auch...
    Test-Server: lokaler Debian Etch Server
    Web-Server: SuSE Linux (V. glaube OpenSuse 10.1)

    auf dem Debian Server werden die Umlaute perfekt angezeigt im Gifbuilder, aber dann auf dem SuSE Server werden die Umlaute komplett zerhakt... also Garnicht dargestellt... und da wollte ich die class.tslib_gifbilder.php bearbeiten nur leider finde ich den eintrag nicht, wo der Text übergeben wird, den da wollte ich dann mit der str_replace()-Funktion von PHP die UNICODEs (wie in hebi's beitrag gezeigt werden) rein packen statt den öäü usw. ;)

    danke schonmal für eure hilfe...

    ich habe es jetzt mit suche gefunden mit dem Teil der Funktion klappt es nur finde ich nicht die daten in typo3 wo "imagettftext" oder ähnliches benutz werden

    http://de.php.net/imagettftext#57416

    MfG Gunah