MyBB.de Forum

Normale Version: Sprachdateien komplett UTF-8?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe die deutschen Sprachdateien "Deutsch_Du" vom 14.02. installiert.
Sind die schon komplett in UTF-8?

Mir ist z.B. bei der online.lang.php aufgefallen, dass deutsche Umlaute mit HTML-Entitäten kodiert sind und die Datei offenbar auch nicht in UTF-8 abgespeichert ist. Ein Beispiel aus dieser Datei: "IP-Adresse auflösen". Die Datei ist auch vom 14.02.2007 (falls jemand fragt).

Prinzipiell treten in meinem Forum keine Probleme auf, nur beim IP-Auflösen erscheint im Nav-Bit eben "IP-Adresse auflösen" anstatt "IP-Adresse auflösen". Das bekommt ja auch kein User zu Gesicht, da diese keine IPs auflösen dürfen.

Falls das nun bei anderen Usern hier im Forum nicht auftreten sollte, dann kann das auch daran liegen, dass ich in meinem Forum folgendes geändert habe (muss etwas ausholen...):

Mein Boardname enthält ein "&". Um valides XHTML zu erhalten, habe ich in der functions.php die Navbits mit htmlspecialchars umwandeln lassen, so dass aus "&" ein "&" wird, jedoch "ä", "ö", "ü" usw. (UTF-8-konform) nicht als HTML-Entitäten dargestellt werden (sondern weiterhin als "ä", "ö", "ü"). Das klappt überall super - ich habe Kategorien und Themen mit Umlauten - alles wird korrekt dargestellt, {bbname} in den E-Mails wird richtig dargestellt und der w3.org-Validator meldet valides XHTML 1.0 TransitionalSmile

Nur eben das Navbit beim IP-Auflösen....

Ein Workaround ist bei dieser Sache nicht nötig, das würde ich wohl noch hinbekommen (Entitäten durch Umlaute ersetzen und Datei als UTF-8 abspeichern).

Vielleicht könnte man das bei der nächsten Version der Sprachdateien berücksichtigen (wird doch wohl nur noch UTF-8 geben). Es ist nicht dringend.

Ich würde mich auch anbieten, die Dateien so zu ändern, wie beschriebenWink

Gruß
Boardie05
Das genannte Problem kann ich nicht nachvollziehen. Die Umlaute sind in den Sprachdateien als Entitäten gespeichert, da es so weniger Komplikationen gibt. Nur die Umlaute in Sprachstrings für Popups sind nicht umgewandelt. Die Dateien sind auch in UTF-8 abgespeichert.
Meine Änderung in der /inc/functions.php:

Ich habe nach dieser Zeile:
PHP-Code:
$navbit $navbits[$navsize-1]; 
diese eingefügt:
PHP-Code:
$navbit['name'] = htmlspecialchars($navbit['name']); 

Hier mal beispielhaft die o.g. Sprachdatei als Anhang:
[attachment=1754] (diese Datei ist bei mir laut Windows Editor ANSI)

und hier als vergleichende Referenz die global.lang.php:
[attachment=1755] (diese Datei ist bei mir laut Windows Editor UTF-8)

Ich hoffe nur, der Windows-Editor spielt mir nicht wieder einen Streich....

Gruß
Boardie05
Es handelt sich nicht um einen Fehler in der MyBB-Software.

Zur Erklärung:
Durch meine o.g. Änderungen ist es logischerweise so, dass ("Pseudo")-Entitäten in der Ausgabe erscheinen, denn die PHP-Funktion htmlspecialchars() macht z.B. aus ö ein ö - welches dann vom Browser als auszugebendes ö interpretiert wird.

Ich habe eine für meine Zwecke bessere Lösung gefunden, um das mit dem Boardnamen hinzubiegen.

Es wäre schön, wenn in einer der zukünftigen Versionen auch ein Boardname mit einem & bei der Ausgabe im Browser XHTML-konform dargestellt wird ( also & als & ). Beim Versenden einer E-Mail sollte das & allerdings erhalten bleiben. Das lässt sich sicher machen. Das wäre jedenfalls ein kleiner Wunsch von mir an die EntwicklerWink

Gruß
Boardie05