Zeichenkodierung: Welches Charset? UTF-8? ISO 8859-1?
Habe mich schon immer gefragt, was die Vor- und Nachteile der diverser Charsets sind. ein paar Fragen:
1. Gibt es ein Charset, dass man global - praktisch für jeden Anlass - empfehlen kann? 2. Muss man bei UTF-8 z.B. die Umlaute nicht mehr maskieren? 3.Gibt es Probleme mit unterschiedlichen Browsern? 4.Muss ich bei XHTML dasCharset zweimal definieren wie in diesem Beispiel? Code:
<?xml version="1.0" encoding="UTF-8"?> Danke schon mal!! |
1. utf-8.
2. Nein. :) 3. Nein. 4. In diesem Code befindet sich ja zweimal die Angabe utf-8. Das eine utf-8 bezieht sich auf XML und das andere utf-8 bezieht sich auf den Inhalt deiner Seite. Wenn du utf-8 verwenden möchtest, dann brauchst du das nur im Meta-Tag anzugeben. Die Zeile <?xml version="1.0" encoding="UTF-8"?> kannst bzw. solltest du weglassen, da in manchen Browsern es zu Fehldarstellungen kommen kann. Übrigens: Wenn du PHP nutzt, kannst du Charset auch über ein kurzes PHP Script definieren. |
4. Die erste Zeichensatzkodierung im XML-Prolog stört den IE, weshalb man sie weglassen sollte. Sie ist in XHTML-Dokumenten auch nicht notwendig. Die zweite Angabe als Meta-Charset ist für eine echtes XHTML-Dokument (welches als XML ausgeliefert wird) unnütz und wird von einem Parser ignoriert.
Optimal ist es, wenn die verwendete Zeichensatzkodierung im HTTP-Header gesendet wird. Dies lässt sich im Normalfall leicht in der .htaccess machen: Code:
AddDefaultCharset utf-8 |
Was Du bedenken bzw. wissen solltest: Wenn Du Emails per Formular verschicken möchtest, solltest Du diese in iso-8859-1 umwandeln lassen (kein Problem mit utf8_decode() oder iconv(), sofern Dein Hoster PHP bietet). Denn viele Email-Programme und Webmailer (u.a. GMX und Hotmail) zeigen Emails in utf-8 (trotz entsprechender Angabe im Email-Header) einfach als iso-8859-1 an, so daß alle Sonderzeichen versaut sind.
Das kann der Empfänger zwar durch manuelle Umstellung des Zeichensatzes ändern, aber von dieser Möglichkeit dürften 99% aller Empfänger nichts wissen. Solltest Du allerdings der einzige Empfänger sein, wäre das natürlich wiederum alles egal. Zitat:
|
Zitat:
Mit ISO-8859-1 geht man zwar auf Nummer sicher, UTF-8 wird aber beim größten Teil aller Empfänger auch richtig angezeigt - vorausgesetzt, die E-Mail ist richtig kodiert. Zitat:
Code:
php_value default_charset UTF-8 Mario |
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:23 Uhr. |
Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
© Dirk H. 2003 - 2023