Mehrsprachige Websites kodieren

Ich musste mal ein PHP-Frameworks für englische, russische, chinesische und arabische Inhalte entwickeln. Im Internet findet sich dazu auch eine Vielzahl von Artikeln, über die "richtige" Kodierung von mehrsprachigen Websites. Wie lassen sich also z.B. kyrillische, chinesische oder auch arabische Zeichen korrekt darstellen. Leider widersprechen sich manche der Tipps.

Daher nun meine Vorgehendweise (getestet auf PC, MAC, Linux mit jeweils unterschiedlichen Browsern):
  • erst mal muss eine Schrift mit entsprechende Zeichenumfang installiert sein (z.B. Arial Unicode)
  • mit einem UTF-8-fähigen Editor arbeiten (sollen die Meisten können)
  • alle Dateien als UTF-8 ohne BOM kodieren
  • Tag-Attribute im HTML-Head entsprechend anpassen, hier z.B. für arabisch:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ar" lang="ar" dir="rtl">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />



Code-Ausschnitt als Beispiel



Einstellungen zum Format im Freeware-Editor Notepad++


Mehr Infos dazu:

Unicode Open-Source-Editor Nodepad++
http://notepad-plus.sourceforge.net/

Infos zu UTF-8
http://de.wikipedia.org/wiki/UTF-8

Infos zu BOM (Byte Order Mark)
http://de.wikipedia.org/wiki/Byte_Order_Mark

Grundlagen der Zeichenkodierung
http://toscho.de/2008/grundlagen-zeichenkodierung/

PHP

Januar 2010 | Permalink | Feedback