UTF-8

Wie verwendet man Templates oder erstellt Navigationen und passt diese an.

UTF-8

Beitragvon ralf.schlott » 22. Apr 2009, 12:18

Hallo!

Ich möchte gerne mal zum Thema UTF-8 einen Thread eröffnen.
Vielleicht können ja einige ihre Erfahrung zusammentragen.

Ich habe eine Seite gefunden, die einige äussere Dinge erklärt.

http://blog.antikoerperchen.de/beitrag/ ... ntity.html

Gruss
Ralf
Benutzeravatar
ralf.schlott
 
Beiträge: 426
Registriert: 5. Dez 2007, 20:22
Wohnort: Hamburch

Beitragvon Xong » 22. Apr 2009, 14:54

Dem Text ist nur hinzuzufügen, dass die XML-Deklaration (<?xml version="1.0" encoding="utf-8"?>) nicht an den Anfang eines UTF-8-kodierten XHTML-Dokuments gestellt werden sollte, weil der IE in den Versionen bis einschließlich 7 in den Quirksmodus versetzt wird.
Das funktioniert deshalb, weil Dokumente ohne diese Deklaration automatisch als UTF-8-kodiert angesehen werden.

Ich empfehle uneingeschränkt die Nutzung von UTF-8. Es vermeidet Probleme und erlaubt die kontextgerechte Verarbeitung von Daten in allen Bereichen, die für Webseiten wichtig sind: Eingabe, Verarbeitung, Ausgabe und Speicherung (u. a. Datenbanken).

Ob die HTML-eigenen Zeichen (<,>,",&) bei der Ausgabe als Text (in gewissen Situationen) trotzdem maskiert werden müssen, hängt vom Kontext ab.
Jedem ist wohl klar, dass ein Anführungszeichen innerhalb eines Textes, der im alt-Attribut eines Bildes steht, in seine Zeichenentität umgewandelt werden muss. Im normalen Fließtext ist das nicht unbedingt nötig.
Dort sollten wiederum die Tag-Klammern maskiert sein.

Generell: Maskierung mit HTML-Entitäten schadet nicht, kann aber den Verwaltungsaufwand erheblich vergrößern. Also sparsam damit umgehen!

Zusatz: Wer mit UTF-8-kodierten Dateien arbeitet, sollte diese nicht mit einem Byte-Order-Mark (BOM) versehen. PHP kann damit afaik noch nicht umgehen und sendet dieses BOM bei jedem Skript-Start als erstes an den Browser, womit eine Ausgabe getätigt wurde und die Headerangaben nicht mehr modifiziert werden können.

LG,
Xong
LG,
Xong

Bild Määääääääääääääääääääääääh!
Benutzeravatar
Xong
 
Beiträge: 1560
Registriert: 5. Jun 2008, 07:30
Wohnort: Hohndorf in Sachsen

Beitragvon zehbaeh » 22. Apr 2009, 16:18

Zu beachten ist, das bei Verwendung der UTF-8 Kodierung ggf. der Modifikator

u (PCRE_UTF8)

bei allen preg_XXXX Funktionen benutzt werden muss (das wird gerne mal vergessen), da sich sonst evtl. ein ungewünschtes Verhalten ergibt. Ausserdem liefern diese Funktionen bei ungültig UTF-8 kodierten Zeichen bei Verwendung des u-Modifikators ggf. ein leeres Ergebnis und werfen eine entsprechende Warnung aus (seit PHP 4.3.5).

Vereinfachtes Beispiel:
Code: Alles auswählen
<?php
$text = 'Öffentliche Ämter';
$muster = 'Ä';
echo 'ohne u - Modifikator: ', preg_replace("~[$muster]~", '', $text);
echo '<br />';
echo 'mit u - Modifikator: ', preg_replace("~[$muster]~u", '', $text);
echo '<br />';
error_reporting(E_ALL);
$muster = preg_quote(chr(255),'~');
echo 'ungültig mit u - Modifikator: ', preg_replace("~[$muster]~u", '', $text);
echo '<br />';
echo '"ungültig" ohne u - Modifikator: ', preg_replace("~[$muster]~", '', $text);
?>
zehbaeh
 
Beiträge: 563
Registriert: 17. Okt 2006, 10:52
Wohnort: Solingen


Zurück zu Templates/Navigationen [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast