Cum se poate verifica daca codificarea de caractere din documentul meu e corecta, folosind validatorul W3C HTML ?
Pentru a va asigura ca toate dosarele/folder-ele de destinatie ale unui document sunt capabile sa afiseze si sa interpreteze corect rezultatele, este esential sa indicati corect modul in care se codeaza caracterele ( "charset"). Pentru a verifica acest aspect, folositi Serviciul W3C de Validare Markup. Validatorul de aici valideaza de obicei codificarea caracterelor din antetele HTTP si din informatia din document. Daca validatorul nu reuseste sa detecteze codificarea, verificarea se poate face pe pagina de rezultate a validatorului, prin meniul pulldown "Encoding: (examplu).
De obicei, totusi,validatorul nu ia in considerare daca codificarea s-a facut sau s-a selectat eronat. Motivul e ca multe formate de codificare sunt foarte asemanatoare, iar validatorul verifica doar sintaxa markup si nu poate decide daca textul decodat are sens sau nu. Pentru a va asigura ca ati realizat codificarea corect, si, implicit, documentul va fi afisat corect cititorilor,urmatorii pasi va pot fi de folos:
Daca codificarea detectata sau selectata e de forma US-ASCII
, UTF-8
, UTF-16
sau iso-2022-jp
(Japanese JIS), si validatorul nu semnaleaza vreo problema de codificare, exista o foarte mare probabilitate ca codificarea selectata sa fie corecta.Tineti cont ca US-ASCII
este un subset strict pentru UTF-8
, si, asadar, daca US-ASCII
este functional, UTF-8
, de asemenea, va merge.
Pentru orice alt tip de codificare, verificarea vizuala e necesara. Selectati optiunea Show Source din Interfata Extinsa a validatorului, si verificati daca caracterele non-ASCII sunt afisate corespunzator in text.Pentru pagini in alte limbi, aceasta procedura se poate realiza rapid. Pentru paginile scrise in engleza cu foarte putine caractere non-ASCII, procedura se poate ingreuna putin.
De exemplu, daca incercati sa interpretati Pagina pricncipala a W3C ca iso-8859-1, e posibil sa navigati pana la finalul sursei pentru a gasi text de forma '©' si '®' astfel incat sa realizati ca este o alegere gresita. (Bineinteles ca pagina ii spune validatorului din start ca este codificata in UTF-8,si nu mai sunteti nevoit sa efectuati verificari suplimentare.)
In unele cazuri, mai multe tipuri de codificare pot reprezenta adecvat caracterele intr-un document. De exemplu, exista o diferenta semnificativa intre iso-8859-1
(Latin-1, Western Europe) si iso-8859-2
(Latin-2, Eastern Europe), si fata de codificari in aceste serii.Daca dupa o verificare atenta,nu puteti gasi nici o diferenta, atunci orice alegere e buna. Asemanarea stransa dintre aceste codificari in termeni de tipare de bytes si in termeni de caractere codate propriu-zis, releva de ce doar verificarea vizuala poate certifica daca codificarea s-a realizat cum trebuie.
Daca nici una dintre codificarile oferite de catre validator nu merge, atunci ori ati codat pagina intr-o forma pentru care validatorul nu ofera (inca) suport, ori, din diverse cauze, bucati de text scrise in diverse forme de codificare s-au amestecat in pagina. In primul caz , trimteti un e-mail la validator mailing list (public archive) pentru a vi se adauga codificarea de caractere. In cel de-al doilea caz, trebuie sa va remediati problemele de pe pagina, pentru ca fiecare pagina web poate folosi o singura forma de codificare.
Validatorul nu functioneaza fara sa aiba la dispozitie informatii despre tipul de codificare a caracterelor pentru ca validarea SGML sau XML se bazeaza pe verificarea succesiunii de caractere din document, insa ce primeste validatorul ca input reprezinta doar o succesiune de bytes. Identificand forma de codificare a caracterelor, validatorul poate sa transforme bytes-urile in caractere. In general, acest procedeu e valabil si pentru alti receptori, inclusiv browser-ele. Daca caracterele corespunzatoare nu sunt identificate, un browser web poate afisa informatii inutile si distorsionate.
Validatorul realizeaza acest lucru prin convertirea din codificarea indicata in UTF-8, si folosind UTF-8 intern. Daca conversia in UTF-8 esueaza pentru ca o anumite succesiune de bytes nu apare in codificarea de input, validatorul creeaza un mesaj de eroare. Pentru input-ul din UTF-8, validatorul verifica daca sunt folosite doar succesiuni de bytes valide.
Verificarea vizuala a unei pagini Web fara a folosi validatorul poate esua, pentru ca:
<img>
) care trebuie verificat la randul sau.Codificari de caractere inregistrate in IANA (validatorul ofera suport doar pentru un subset larg utilizat, si doar pentru numele preferat , fara alias)
Linkuri asemanatoare, Instalarea unui server
Linkuri asemanatoare, Autori de HTML si CSS
Linkuri asemanatoare, Autori de SVG