Molly Holzschlag - Siedem śmiertelnych grzechów markupu
1. Kłopoty ze standardem kodowania (character encoding)
Mimo że dobranie strony kodowej dokumentu samo w sobie nie wpływa na pozytywną weryfikację dokumentów, ma jednak wpływ na zdolność dokumentu do walidaci i do poprawnego wyświetlania. Niestety, wydaje się, że wielu projektantów i porgramistów jest nieświadomych potrzeby ustawienia odpowiedniego kodowania.
Kodowanie dokumentu opisuje zbiór znaków, jaki w nim będzie używany. Dokumenty w języku angielskim, na przykład, od dawna były identyfikowane w standardzie kodwania iso-8859-1, który jest zbiorem znaków łacińskich. Od niedawna możemy przejść na UTF-8, bardziej uniwersalny standard kodowania.
W świecie idealnym, całe kodowanie znaków odbywa się na serwerze. W tym scenariuszu, administrator serwera ustawia właściwe kodowanie poprzez nagłówki HTTP. Można tego dokonać na każdym typie serwera - sprawdź sam u twojego administratora systemu i dowiedz się, czy kodowanie jest ustawione. Jeśli tak, możesz spać spokojnie i nie potrzebujesz wstawiać jakiejkolwiek dodatkowej informacji na temat kodowania.
Jednakże, jeśli twój serwer nie ma ustawionego kodowania, są dwa alternatywne sposoby podania inforamcji o kodowaniu. Możesz dodać kodowanie poprzez element meta, w następujący sposób:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Jeśli stosujesz XHTML i chcesz dodać deklarację XML, to rownież w niej możesz zawrzeć informację o standardzie kodowania:
<?xml version="1.0" encoding="utf-8" ?>
Oczywiście pojawiają się problemy związane z użyciem tego rodzaju deklaracji (nazywanej także prologiem XML). Kiedy napotka ją IE 6.0, nie przestawi się na odpowiedni DOCTYPE. (Jeśli nie zaznajomiłeś się jeszcze z przełączaniem DOCTYPE'a czytaj dalej). Inne problemy z prologiem dotyczą kłopotów z przetwarzaniem strony w wielu starszych przeglądarkach, które po prostu nie rozpoznają składni XML-a i próbują zinterpretować document raczej jako drzewo XML niż dokument jako taki.
Inny problem, jaki pojawia się ostatio dość często, na tyle że W3C zmieniła swój ustawienia swojej aplikacji weryfikującej kod strony, to niekompatybilność standardu kodowania. Z problemem takim mamy do czynienia, kiedy standard kodowania jest, zgodnie z rekomendacją, zdefiniowany na serwerze, podczas gdy autor dokumentu zastosuje u siebie wykluczający się zestaw znaków.
Skuteczna eliminacja tego problemu nastapi jeśli wykonasz następujące czynności:
- Sprawdź u administratora systemu, jaki typ kodowanie jest ustawiony na twoim serwerze. Jeśli jest ustawiony prawidłowo, nie dodawaj elementu meta w swoich dokumentach. Bądź ostroźny, albowiem wiele narzędzi dodaje kodowanie automatycznie za ciebie. W tym przypadku, wyrzuć element meta by uniknąć konfliktu i niepotrzebnego kodu.
- Jeśli kodowanie dokumentu nie jest ustawione na serwerze, będziesz musiał się uciec do stosowania rozwiązania z elementem meta. Nie jest to idealne, ale będzie działać i pozwoli ci pozytywnie zweryfikować twój dokument bez generowania żadnych ostrzeżeń.





