Stand: 30.12.2008 04:56 aktuelle Version auf phpBB.de

Apache At Work Communities Community Building Informationen und Hinweise Installation/Konfiguration/Update MySQL PHP phpBB-Optimierungen phpBB3 Rechtliches Server & Technik Snippets Templates und Mods

Knowledge Base Offline -> Server & Technik -> Grundlegende Informationen zur Zeichenkodierung

Grundlegende Informationen zur Zeichenkodierung
Autor: Christian_W
Stand: 30.12.2008 04:56
Neuste Version unter: http://www.phpbb.de/doku/kb/charset

### Grundlegende Informationen zur Zeichenkodierung

##### Die phpBB2-Sprachdateien sind in der Kodierung ISO-8859-1 gespeichert. Hauptsächlich bei Umlauten kann das Probleme verursachen....

Die phpBB2-Sprachdateien sind in der Kodierung ISO-8859-1 gespeichert. Es werden keine benannte Zeichen (entities) verwendet. Hauptsächlich bei Umlauten kann das Probleme verursachen. Der Browser muss die Seite in der Kodierung anzeigen, mit der sie gespeichert wurde. Macht er das nicht, sieht man nur Kästchen oder Fragezeichen. Dieser Artikel erklärt wie es zu diesem Anzeigefehler kommt und wie man ihn beheben kann.
Wenn beim aufrufen des Forums nicht die richtigen Zeichen angezeigt werden kann das verschiedene Ursachen haben.
Die Häufigste ist wohl, dass in letzter Zeit immer mehr Webserver als Standardkodierung utf-8 senden:

/etc/apache2/conf.d/charset hat Folgendes geschrieben:
AddDefaultCharset UTF-8

Gleichzeitig ist in der php.ini die Zeile für iso-8859-1 auskommentiert:

/etc/php5/apache2/php.ini hat Folgendes geschrieben:
; As of 4.0b4, PHP always outputs a character encoding by default in ; the Content-type: header. To disable sending of the charset, simply ; set it to be empty. ; ; PHP's built-in default is text/html default_mimetype = "text/html" ;default_charset = "iso-8859-1"

Dadurch erhalten wir also vom Server die Vorgabe: "Alle Seiten sind in utf-8 geschrieben" und so zeigt der Browser die dann auch an:

http://www.schoenitzer.de/encoding.html hat Folgendes geschrieben:
Sie sollten beachten, das die im HTTP-Header alle Einstellungen bezüglich des Encodings in einer HTML-Datei überschreibt.

phpBB schreibt zwar die korrekte Kodierung in den html-Header:

Code:
<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}">

aber die vom Server gesendete hat Vorrang.
Die beste Möglichkeit ist wohl, dass man den Server einfach die richtige Kodierung senden lässt. Dazu sind zwei kleine Änderungen nötig:

Code:

----- öffne -----
includes/page_header.php
----- finde -----
$template->set_filenames(array(
----- füge davor ein -----
// Zeichencodierung aus lang-Dateien erzwingen
header("Content-type: text/html; charset=" . $lang['ENCODING']);
----- öffne -----
admin/page_header_admin.php
----- finde -----
$template->set_filenames(array(
----- füge davor ein -----
// Zeichencodierung aus lang-Dateien erzwingen
header("Content-type: text/html; charset=" . $lang['ENCODING']);

Knowledge Base Offline -> Server & Technik -> Grundlegende Informationen zur Zeichenkodierung

| phpBB.de Knowledge Base (Offline-Version) ©2005 Sascha Carlin und das phpBB.de-Team - Impressum Das Kopieren von Artikeln (auch auszugsweise) ist nur nach ausdrücklicher Genehmigung erlaubt! phpBB.de: Infos | Forum | Downloads | Dokumentation |