[gelöst] bbcode oberlehrer

Hallo,
wenn man einen Text eingibt mit Umlaut, wird dieser nicht ausgegeben.

bbcode: [oberlehrer]text mit öäüusw[oberlehrer]

stines.webforum.bplaced.de/porta … eadid=3639

bbcode mit Schild, sprechblase da wird der Umlaut ausgegeben.

Warum wird der Umlaut nicht beim oberlehrer dargestellt?

lg
Stine

Zunächst einmal handelt es sich bei der Ausgabe nicht um Text, sondern um eine Pixelgraphik.
Wenn das samt dem (X)HTML drum herum per Skript automatisch erzeugt wird, ist das Skript offenbar mangelhaft, denn bei dem zur Einblendung verwendeten img-Element fehlt das alt-Attribut.
Ein sinnvoller Alternativtext für die Graphik wäre aber sicher angebracht, weil die Pixelgraphik ja die Anmutung von Text enthält. Zudem, wenn der Alternativtext ausgegeben würde, entsprechend dem, was ins Bild gemalt ist, könnte man ja erkennen, ob wenigstens im Alternativtext Umlaute dargestellt werden.

Ansonsten braucht der PHP-Programm-Teil, welcher solche Bilder mit reingemaltem Text fabriziert, für derartige Schriftarten eine Schriftartendatei - da sollte man nachgucken, ob die überhaupt Umlaute enthält. Zudem, was ebenfalls eine mögliche Ursache ist - könnte die Kodierung des dem PHP-Programm-Teil übergebenem Text falsch sein, was dann wiederum dazu führt, daß das Teil die Umlaute mit anderen Zeichen identifiziert, für welche wiederum im gewählten Zeichensatz kein Zeichen vorhanden ist, was dann eben mit dem ‘Notzeichen’ im gewählten Zeichensatz behandelt wird, hier also offenbar ein Quadrat.
Vor zig Jahren habe ich auch mal damit rumprobiert, in Pixelgraphik Text zu malen, kann mich dunkel daran erinnern, daß die Wahl der richtigen Kodierung ein kniffliger Punkt bei der GD-Bibliothek ist.
Wenn man wirklich Text in Graphik braucht, ist meist ohnehin SVG die bessere Wahl, nicht Pixelgraphik - bei SVG braucht man dann auch keine zusätzliche Bibliothek und das Kodierungsproblem ist schlimmstenfalls identisch mit dem bei (X)HTML-Dateien, hängt also nicht am PHP.

Dem kann ich nur zustimmen. SVG wird von so ziemlich allen modernen Browsern unterstützt. Selbst der IE beherrscht es recht gut seit der Version 9.

Hallo,
denke es ist ein Zeichsatzproblem.

Habe mal gegoogelt und dieses entdeckt
JIS-mapped Japanese Font Support

serversupportforum.de/forum/7971 … 6cfae156e1

disable-gd-jis-conv
serversupportforum.de/forum/8268 … 6cfae156e1

lg
Stine

Tja so richtig ausführlich ist die PHP-Dokumentation nicht, daher konnte ich der auf die Schnelle nicht entnehmen, in welcher Kodierung man den Text in die Funktion imagettftext (die wird es hier wohl sein) reinstecken soll - oder wie man die Kodierung angibt. Kodierungsangaben für Text war noch nie so richtig intuitiv bei PHP-Funktionen ;o)

Es steht immerhin drin, daß man auch die üblichen numerischen Entitäten von XML verwenden
kann, es sollte also auf jeden Fall funktionieren, wenn man im Text Umlaute und ß-Ligatur etc durch
die Zeichenentität ersetzt und den so modifizierten Text ohne Sonderzeichen in die Funktion steckt.
Das hilft natürlich nur, wenn die Shriftart auch Glyphen für Umlaute enthält…