Est-il un avantage à ajouter accept-charset=“UTF-8” pour les formulaires HTML, si la page est déjà en UTF-8?
Pour les pages déjà spécifié (soit par HTTP en-tête, ou par la balise meta), d'avoir un Type de Contenu avec un encodage UTF-8 charset... est-il un avantage de l'ajout de accept-charset="UTF-8"
pour les formulaires HTML?
(Je comprends le accept-charset
attribut est cassé dans IE ISO-8859-1, mais je n'ai pas entendu parler d'un problème avec IE et UTF-8. Je demande juste si il y a un avantage à ajouter avec UTF-8, pour aider à prévenir invalide les séquences d'octets à partir d'entrées.)
- Ma question est plus spécifique... mais connexes: stackoverflow.com/questions/3715264/... et stackoverflow.com/questions/1317152/...
- Liées W3C référence: w3.org/TR/html401/interact/forms.html#adef-accept-charset (notez le "peut" dans
User agents may interpret this value as the character encoding that was used to transmit the document
- est-ce à dire qu'il est plus sûr de le mentionner explicitement? Pas sûr. De mon expérience, je suis d'accord avec ce que @insaisissable dit)
Vous devez vous connecter pour publier un commentaire.
Si la page est déjà interprété par le navigateur comme UTF-8, réglage
accept-charset="utf-8"
ne fait rien.Si vous définir l'encodage de la page en UTF-8 dans un
<meta>
et/ou de l'en-tête HTTP, il sera interprété comme de l'UTF-8, sauf l'utilisateur délibérément va à la Vue->Encodage de menu et sélectionne un codage différent, à remplacer celui que vous avez spécifié.Dans ce cas,
accept-encoding
aurait l'effet de la définition de la présentation de l'encodage de retour à l'UTF-8 dans le visage de l'utilisateur vous embêter avec le codage de la page. Toutefois, cela ne fonctionne toujours pas sous IE, en raison des problèmes discutés avecaccept-encoding
dans le navigateur.Donc c'est de l'OMI doute qu'il vaut la peine, y compris
accept-charset
pour résoudre le cas où un non-utilisateur d'internet explorer a délibérément saboté le codage de la page (éventuellement gâcher plus sur votre page, pas que de la forme).Personnellement, je n'ai pas pris la peine.
may interpret
et que la valeur par défaut est INCONNU.UNKNOWN
/unset signifie toujours la page en cours d'encodage, si c'était le serveur de la page d'encodage dans l'en-tête/meta, ou le codage explicitement défini par l'utilisateur comme un remplacement. Exception qui probablement ne vous affecte pas: la plupart des navigateurs de ne pas envoyer les soumissions de formulaire dans un non-ASCII-sur-ensemble de codage comme de l'UTF-16, même si la page a été servi comme ça. Il n'a pas vraiment le sens de le faire.Je n'ai pas rencontré de problèmes liés à l'utilisation de l'UTF-8 avec IE (6+) ou tout autre browser. Vous devez assurez-vous que l'UTF-8 de la balise meta est défini (c'est à dire des besoins) et que tous vos fichiers sont codés en UTF-8 (ce qui signifie que le serveur web envoie UTF-8 en-têtes). Ensuite, il ne devrait pas être un problème si vous omettez
accept-charset
.accept-charset
attribut était nécessaire (fait toute la différence), étant donné l'UTF-8, en-tête http.