2 votes

Les données du formulaire POST transforment ma saisie

J'ai une question concernant les valeurs POST que je reçois en retour lorsque je poste un formulaire HTML comme celui-ci :

<form action="" method="POST">
    <input type="text" name="test">
    <input type="submit">
</form>

Si je tape jöachi@æøåèÆ dans le champ de saisie et que je fais un var dump sur la valeur $_POST, j'obtiens ceci :

array (size=1)
  'test' => string 'jöachi@æøå&#232;Æ' (length=17)

Dans le résultat, vous pouvez voir que le signe è a été remplacé par le code ISO Latin-1 è

Comment puis-je faire en sorte qu'il ne fasse pas cela ?

L'encodage de ma page est ISO-8859-10, et j'ai essayé de le changer en UTF-8, mais sans succès.

J'ai également pensé que cela pouvait être lié à la fonction magic_quotes de mon apache, mais elle n'est pas activée.

Toute aide est la bienvenue

1voto

Ivo Pereira Points 1107

L'utilisation d'UTF-8 serait de toute façon mauvaise pour vous ? Si ce n'est pas le cas, essayez de dire explicitement que vous utilisez UTF-8 avec meta :

<meta charset="utf-8" />

Cela résoudra probablement votre problème.

Dans toutes mes applications web, j'utilise UTF-8 et je m'assure toujours que toutes les communications sont effectuées de cette manière, y compris toutes les collations de la base de données.

Quoi qu'il en soit, essayez aussi de forcer votre formulaire à se soumettre en UTF-8 à chaque fois.

<form action="" method="POST" accept-charset="UTF-8">

0voto

Satyam Saxena Points 581

Il s'agit d'un problème de jeu de caractères.

utiliser cette ligne avant </head> étiquette.

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

Si vous enregistrez des données dans MySql, changez d'abord la collation mysql en UTF-8 general ci

et ajoutez ces deux lignes à l'endroit où vous sauvegardez les données.

mysql_query( "SET NAMES 'utf8'" );
mysql_query( "SET CHARACTER_SET 'utf8'" );

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