NOTE! This is a historical article. Nowadays, you can go to the Internationalization (i18n) Checker and it will tell you what the encoding is according to the declaration at the top of the file.
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