«

»

Mrz
30
2008

Umlaute werden nur als ? dargestellt *Update*

Ein in letzter Zeit häufig auftretendes Problem ist das auf vielen Webseiten die Umlaute nur als ? dargestellt werden.

Dies liegt daran weil inzwischen viele Webserver als Standard-Zeichenkodierung UTF-8 verwenden um auch die Schriftzeichen anderer Sprachen darstellen zu können.

Eine Lösung ist es, die kompletten Dateien Ihrer Webanwendung in UTF-8 zu Speichern, dies bedeutet jedoch bei bereits fertigen Applikationen eine menge Arbeit. Wäre jedoch der richtige Weg.

Eine andere Lösung wäre es, den Webserver auf den entsprechenden Zeichencode zu Konfigurieren. Jedoch müssten dann die Serverbetreiber mehr als nur einen Zeichencode einstellen. Dies wäre jedoch unpraktikabel, zumal in UTF8 die Zeichen und Symbole für die meisten Sprachen enthalten sind. Desweiteren verlangt die IETF das UTF8 bei den Modernen Internetprotokollen als Zeichensatz verwendet werden soll.

Das Problem lässt sich jedoch auch auf eine einfache Art umgehen. Es wird damit allerdings nicht wirklich gelöst.

Dafür gibt es den Meta-Tag Charset.

<meta http-equiv=“Content-Type” content=“text/html; charset=iso-8859-1″>

Da jedoch die Server dem Browser als Standard UTF-8 übermitteln, ignoriert der Browser die Angaben innerhalb der Webseite. Das Ergebniss ist, dass trotz des richtigen meta Eintrags die ? nachwievor anstelle der Umlaute angezeigt werden.

Um dieses Problem zu ändern, lässt sich hier mittels eines kleinem PHP Codes der vom Webserver gesendete Zeichencode ändern:

<?PHP header(‘Content-type: text/html; charset=iso-8859-1′); ?>

Beachten Sie jedoch das dieser Code am Anfang Ihrer Webseite ausgeführt werden muss. (Bevor die Seite mit <html> beginnt.

Anleitung den Code für einige Websysteme richtig einzupatchen (Foren, Blogsysteme…) finden Sie hier:

PHPBB2

(Wird noch Erweitert, falls jemand noch Links zu anderen Anleitungen von CMS/Forum oder ähnlichem hat bitte einen kurzen Kommentar mit der Adresse dazu hinterlassen.)

Ein mir bekannter Editor der in der Lage ist Dateien schnell und einfach in UTF8 zu Speichern ist unter Windows Notepad++.

Vielen Dank auch an Steffen Zieger für das beisteuern einiger Ideen und Vorschläge zu diesem Thema.

Quellen:
Wikipedia: UTF8, Internet Engineering Task Force

Keine änlichen Beiträge

1 Kommentar

  1. Dürrbi sagt:

    Selbst das “normale” Notepad (notepad.exe) unter XP ist schon in der Lage Dateien als UTF-8 zu codieren und zu speichern. (Entsprechende Auswahl bei “Speichern unter..:”)

Hinterlasse eine Antwort

Ihre E-Mail-Adresse wird nicht veröffentlicht.

Sie können diese HTML-Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>