Sur mon site Web, il existe une forme avec un simple textarea pour que les gens publient des commentaires. Le problème est que parfois je reçois des informations sur UFT8 et parfois dans l'ISO. Est-il possible de contrôler ça? P>
Peut-être que je fais quelque chose de mal, mais est-il possible que le navigateur modifie la codification des données qu'elle envoie? p>
merci p>
6 Réponses :
Si vous voulez être sûr du jeu de caractères que vous acceptez, définissez-le dans votre formulaire
<form method="post" action="/your/url/" accept-charset="UTF-8"> </form>
Je crois que c'est le contraire qui ne fonctionne pas. Si je me souviens bien, c'est-à-dire que vous respecterez UTF-8, mais si vous définissez votre chariot à l'ISO, cela échouera. Cela ne compte que dans les nouvelles versions. Vous pouvez également définir le charert de la page comme Ayush mentionné pour être sûr également.
Vous pouvez toujours forcer UTF-8. Ensuite, vous pouvez envoyer, recevoir et stocker des données dans UTF-8 AD couvrir la plupart des langues humaines sans avoir à modifier le jeu de caractères.
C'est UTF-8. Il n'y a pas de UTF-81.
Avez-vous été testé avec plusieurs navigateurs différents si le problème se produit sur tout / certains d'entre eux ou seulement c'est-à-dire? P>
Vous pouvez encoder les données $ _Post dans UTF-8 en utilisant PHP's utf8_encode une fonction> quelque chose comme: p>
Cela aurait double-code le contenu qui a déjà été envoyé UTF-8.
Urgh. Vrai. Si vous souhaitez utiliser PHP pour encoder, alors ceci ( Stackoverflow.com/questions/910793/... ) pourrait aider ... Bien que la détection de codage soit très délicate.
mais ... vérifiez avant le codage, si la chaîne est déjà utf8
sinon, vous avez double-coode ou utilisez p> afin de ne pas double-coder une chaîne p> p >
J'ai résolu ce problème en changeant
duplicaillard possible de Comment faites-vous Sachez ce qui codant pour l'utilisateur entrer dans le navigateur?