L'encodage des caractères dans la déclaration HTML5

Si on peut lire encore dans le brouillon HTML5 du W3C qu'il suffit de déclarer l'encodage UTF-8 pour qu'il s'applique sachez qu'il y a des problèmes.

Je n'en comprends pas les raisons et le validateur du W3C, même si la page demeure conforme, émets de certains doutes aussi alors que ce sont ses propres indications.
Vous allez me dire que : « bon ... les avertissements... du moment que la page est valide... » vous vous en fichez. Eh bien vous avez tort.
Nous allons voir comment

• • • encodage des caractères en HTML5

C'est tout de même curieux mais si l'on s'en tient aux recommandations officielles, à savoir :

!doctype html
html
head
meta charset="UTF-8" /
titleÀ la page/title
/head
body

on se retrouve avec nos caractères diacritiques in-interprétés. Poil au nez.
S'ils le sont dans la page imprimée à l'écran, ce qui provient du code même — c'est dans l'attribut title de mes liens que je m'en étais aperçu — génère des « é » ou des « ç ».
S'il faut déclarer dans les en-tête HTTP envoyés par le serveur avec la page Web l'encodage du document ainsi que la balise meta qu'indique le W3C, il Il faut impérativement répéter (pour la 3e fois !) l'information donnée par une fois par l'en-tête HTTP, une 2e fois par meta charset sur l'encodage (ici en UTF-8) :

meta charset="UTF-8" /
meta http-equiv="Content-type" content="text/html;charset=UTF-8" /

Et là : bonheur ! Plus de vermicelles dans vos caractères ! À vous les œufs dans l'eau !

Inutile de me remercier : adressez tout simplement votre chèque de 50€ à ma fondation pour les codeurs en péril à l'adresse courriel [javascript protected email address]




Commentaires :

Loïc||#1
Loïc
Je ne vois plus ces instructions dans ton code source !?
Et pourtant les caractères accentués sont reconnus au survol de l'attribut title des liens. Faut-il le conserver ? As-tu trouvé une autre solution ? Merci pour ta réponse ?
Philippe||#2
Philippe
Hello Loïc
Ah oui : tout a changé et ça me fait penser que j'ai un billet sur le feu concernant l'optimisation du code qu'il faut que je mitonne encore.

Je le termine et le publie dès que possible : tu auras ainsi ta réponse.

Les commentaires pour ce billet sont fermés