12
votes

formulaire PHP Soumettre UTF8?

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?

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?

merci


6 Réponses :


20
votes

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>


1 commentaires

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.



4
votes

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. xxx


1 commentaires

C'est UTF-8. Il n'y a pas de UTF-81.



-1
votes

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?


0 commentaires


1
votes

mais ... vérifiez avant le codage, si la chaîne est déjà utf8 sinon, vous avez double-coode xxx

ou utilisez xxx

afin de ne pas double-coder une chaîne


0 commentaires

0
votes

J'ai résolu ce problème en changeant mbstring.http_input = passe dans mon fichier php.ini


0 commentaires