Peter Rehm's Blog

apple,development,life & more

jpgraph und utf-8 daten

Mit 6 Kommentaren

Wer sich wundert wieso die Texte der erzeugten Graphen mittels jpgraph
in kryptischen Buchstaben dargestellt werden, obwohl gültige Daten in UTF-8
angeliefert wurden, ist nur einen kleinen Schritt von der Lösung entfernt.

Die Ursache des Problems liegt darin dass die Standardschriftarten von jpgraph
kein UTF-8 darstellen können.

Daher kann man sich einfach wie auch auf der jpgraph Seite angegeben ein
entsprechendes Schriftpaket herunterladen. Ich hab mich in meinem Fall für
Verda entschieden.Dies bekommt man hier: http://www.gnome.org/fonts/

Die Schirften lädt man sich herunter und lädt Sie in ein beliebiges Verzeichnis.

Nun muss nur noch das Verzeichnis der Library bekannt gemacht werden:

CODE:
DEFINE("TTF_DIR",dirname(_file_) . '/../../ttf-bitstream-vera-1.10/');


Nun muss man noch mittels SetFont angeben, wo welche Schrift eingesetzt werden
soll. Mir ist es allerdings nicht gelungen die Schriftart für die Beschriftung in den
Netzdiagrammen (jpgraph_radar.php) festzulegen, daher musste ich manuell
die Standardschrift ändern, indem ich in jpgraph.php und jpgraph_radar.php FF_FONT1
durch FF_VERA ersetzt habe.

Nun sollten alle Umlaute auch angezeigt werden können.

Geschrieben von Peter Rehm

01.10.2007 um 23:35:00

Abgelegt in PHP

0 Trackbacks zu jpgraph und utf-8 daten

Trackback-URL für diesen Eintrag

  1. Keine Trackbacks

6 Kommentare zu jpgraph und utf-8 daten

  1. Hi Peter,

    für noch mehr Unicode-Zeichenabdeckung gibt es die DéjaVu-Schriften (http://de.wikipedia.org/wiki/DejaVu_%28Schriftart%29) als freies Derivat der Bitstream-Reihe. Verwenden wir bei vokker für den PDF-Export, es werden sehr viele (wenn auch nicht alle) Zeichen unterstützt.

    Markus

    03 Okt 07 um 13:32

    Antwort

  2. Hi Markus,

    werde ich mir mal ansehen, dass ich vielleicht die Schriften tauschen kann.

    Das Problem ist bei jpgraph nur, dass soweit ich das einsehen konnte die Schriftart aufwendig dort eingepflegt werden muss . Aber wir werden sehen :-)

    Danke für die Info.

    Peter Rehm

    03 Okt 07 um 13:38

    Antwort

  3. Eine schnelle Lösung, ohne vorher Schriften laden zu müssen:

    $graph->title->Set (utf8_decode('Text in UTF8'));

    Dies geht aber nur wenn der 'Text in UTF8' nur Zeichen enthält die auch mit ISO-8859-1 dargestellt werden können.

    Werner

    09 Mär 12 um 17:26

    Antwort

  4. Hallo ist ja interessant, danke für die info gruß jeannine

    jeannine

    04 Okt 07 um 13:03

    Antwort

  5. hi,
    super tipp, danke. Hatte mir schon einiges an Kopfzerbreche beschehrt:)

    aditive

    27 Nov 07 um 13:35

    Antwort

  6. Hi Peter,

    der Beitrag hat mir viel Zeit gespart. Vielen Dank.

    Stefan

    18 Feb 10 um 08:45

    Antwort

Kommentar schreiben

BBCode-Formatierung erlaubt
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

Kommentare werden erst nach redaktioneller Prüfung freigeschaltet!