Verficarea codificarii caracterului cu ajutorul validatorului

Intrebare

Cum se poate verifica daca codificarea de caractere din documentul meu e corecta, folosind validatorul W3C HTML ?

Raspuns

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:

Apropo

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: