55 votes

Y a-t-il un avantage à ajouter accept-charset="UTF-8" aux formulaires HTML, si la page est déjà en UTF-8?

Pour les pages déjà spécifiées (soit par l'en-tête HTTP, soit par une balise meta), avoir un Content-Type avec un jeu de caractères UTF-8... y a-t-il un avantage à ajouter accept-charset="UTF-8" aux formulaires HTML ?

(Je comprends que l'attribut accept-charset ne fonctionne pas correctement dans IE pour ISO-8859-1, mais je n'ai pas entendu parler d'un problème avec IE et UTF-8. Je me demande simplement s'il y a un avantage à l'ajouter avec UTF-8, pour empêcher des séquences d'octets invalides d'être saisies.)

39voto

bobince Points 270740

Si la page est déjà interprétée par le navigateur comme étant UTF-8, définir accept-charset="utf-8" ne sert à rien.

Si vous définissez l'encodage de la page en UTF-8 dans une balise et/ou un en-tête HTTP, elle sera interprétée comme UTF-8, sauf si l'utilisateur se rend délibérément dans le menu Affichage->Encodage et sélectionne un encodage différent, contournant celui que vous avez spécifié.

Dans ce cas, accept-encoding aurait pour effet de définir à nouveau l'encodage d'envoi en UTF-8 face à la modification de l'encodage de page par l'utilisateur. Cependant, cela ne fonctionnera toujours pas dans IE en raison des problèmes précédents discutés avec accept-encoding sur ce navigateur.

Donc, à mon avis, il est discutable de savoir s'il vaut la peine d'inclure accept-charset pour corriger le cas où un utilisateur non-IE a délibérément saboté l'encodage de la page (peut-être en perturbant plus que simplement le formulaire sur votre page).

Personnellement, je ne m'embête pas.

3voto

elusive Points 14184

Je n'ai rencontré aucun problème en utilisant UTF-8 avec IE (6+) ou tout autre navigateur majeur. Vous devez vous assurer qu'une balise meta UTF-8 est définie (IE en a besoin) et que tous vos fichiers sont encodés en UTF-8 (ce qui signifie que le serveur web envoie des en-têtes UTF-8). Ensuite, il ne devrait pas y avoir de problème si vous omettez accept-charset.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X