Hogy ellenőrizhetem a megfelelő karakterkódolását a dokumentumomnak a W3C HTML Validator használatával?
Hogy biztosra menjünk abban, hogy egy dokumentumot mindenki megfelelően lát, fontos, hogy a karakterkódolás korrekt legyen. Ennek ellenőrzésére az egyik mód a W3C Markup Validator Szolgáltatás használata. A validator általában észleli a karakterkódolást a HTTP fejlécekből és a dokumentumban található információkból. Ha a validator nem tudja észlelni, kiválasztható a kódolás az 'Encoding' menüből (példa).
De gyakra a validator akkor sem jelez, ha rossz kódolás lett észlelve vagy detektálva. Ennek oka, hogy sok kódolás nagyon hasonló és a validator csak a leíró nyelvet ellenőrzi, azt viszont, hogy a szövegnek van értelme vagy sem, már nem. Hogy ennek helyességéről meggyőződjünk, a következő pontok segítenek:
Ja a kiválasztott vagy észlelt kódolás US-ASCII
, UTF-8
, UTF-16
, vagy iso-2022-jp
(Japán JIS) és a validator nem jelez problémát, valószínűleg a kódolás megfelelő. Az US-ASCII
egy szigorúbb megfelelője az UTF-8
-nak, így ha
a US-ASCII
működik, az UTF-8
is fog.
Sok más kódolásnál fontos az, hogy vizuálisan is ellenőrizzük. Válasszuk ki a Show Source opciót a validator 'More Options' részen és ellenőrizzük, hogy a karakterek megfelelően néznek ki. A legtöbb nyelvnél ez gyorsan végbemegy, de az angolnál például nehezebb, mivel csak néhány olyan karakter van, amiből észre lehet venni, hogy nem megfelelő a kódolás.
Például ha megpróbáljuk a W3C honlapját iso-8859-1-ben megtekinteni, majdnem a forrás végéig el kell olvasnunk, hogy láthassuk a '©' és '®' karaktereket, ami a rossz választást jelenti.
Néhány esetben több mint egy kódolás fogja megfelelően képviselni a karaktereket egy dokumentumban. Például van némi átfedés
az iso-8859-1
(Latin-1, Nyugat-Európai) és iso-8859-2
(Latin-2, Kelet-Európai), illetve más kódolásoknak ebből a sorozatból.
Ha hosszas elemzés után sem találunk különbséget, akkor bármelyik választás megteszi.
Ha a kódolás egyike sem működik, amelyeket a validator felajánl, akkor vagy olyan kódolása van az oldalnak, amit még nem támogat a validator vagy valahogy a szöveg különböző kódolásai összekeveredtek az oldalon. Ilyen esetben írjon a validator levelező listának (archívum) hogy az esetleges új kódolás hozzáadásra kerüljön. Ha viszont a kódolás keveredett össze, akkor javítsuk az oldalt, mivel egy weboldalnak csak egyféle kódolása lehet.
A validator nem működik a karakterkódolás információ nélkül, mert az SGML vagy XML ellenőrzése a karakterek sorozatainak elemzésén alapul, de amit a validator bemenetként kap az csak bájtok sorozata. A karakterkódolás ismeretében viszont a validator a bájtokat karakterekké konvertálja. általában ez jellemző az összes ilyen adatokkal dolgozó alkalmazásokra, beleértve a böngészőket is. Ha a megfelelő karaktereket nem sikerül azonosítani a böngészőben megjelenő oldal zavaros és értelmetlen lesz.
A validator az ellenőrzést úgy viszi véghez, hogy a jelzett kódolásból UTF-8-ba konvertálja a szöveget. Ha a konverzió nem sikerül, mert egy bizonyos bájtrész nem jelenik meg a bemeneti kódolásban, a validator hibaüzenet dob vissza.
Jegyezzük meg, hogy egy oldal vizuális ellenőrzése a validator nélkül nem mindig a legjobb, mert:
<img>
tag-ben) ellenőrizni.Regisztrált karakterkódolások az IANA oldalán (a validator csak egy részét támogatja ezeknek, főként a legelterjedtebbeket)
Kapcsolódó linkek, Setting up a server
Kapcsolódó linkek, Authoring HTML & CSS
Kapcsolódó linkek, Authoring SVG