web-dev-qa-db-fra.com

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 en-tête HTTP, soit par balise META), avoir un Content-Type avec un jeu de caractères UTF-8 ... est-il avantageux d'ajouter accept-charset="UTF-8" vers des formulaires HTML?

(Je comprends le accept-charset l'attribut est cassé en IE pour ISO-8859-1, mais je n'ai pas entendu parler d'un problème avec IE et UTF-8. I ' Je demande simplement s'il y a un avantage à l'ajouter avec UTF-8, pour empêcher la saisie de séquences d'octets invalides.)

54
philfreo

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

Si vous définissez le codage de la page sur UTF-8 dans un <meta> et/ou en-tête HTTP, il sera interprété comme UTF-8, à moins que l'utilisateur accède délibérément au menu Affichage-> Encodage et sélectionne un encodage différent, remplaçant celui que vous avez spécifié.

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

Il est donc douteux que l'OMI veuille 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 gâcher plus sur votre page que le formulaire).

Personnellement, je ne me dérange pas.

38
bobince

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.

3
jwueller