Bonjour, j'ai déjà évoqué ce problème dans la partie MySQL croyant que ça venait de là mais finalement les conclusion mènent à penser que la méthode POST est en cause.
Voici le problème :
J'ai un formulaire XHTML qui envoie par méthode POST du texte dans une page PHP, mais dans le texte récupéré dans cette page certains caractères spéciaux sont convertis en équivalent HTML.

Voici les codes utilisés :

Le formulaire XHTML
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<form method="post" action="./valide_livredor.php"><p class="formulaire">
	<label for="pseudo">Votre pseudo :</label>
	<input type="text" id="pseudo" name="pseudo" value="" size="30" /> <br />
 
	<label for="email">Votre email :</label>
	<input type="text" id="email" name="email" value="" size="30" /> <br />
 
	<label for="texte">Votre texte :<br /></label>
	<textarea id="texte" name="texte" cols="40" rows="8"></textarea> <br />
 
	<input class="bouton" type="reset" name="annule" value="Effacer" />
	<input class="bouton" type="submit" name="valide" value="Envoyer" />
</p></form>
Et le code php dans l'autre page :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if($_POST['pseudo'] == "")
	echo "Erreur : Vous n'avez pas indiqu&eacute; de pseudo";
else if($_POST['texte'] == "")
	echo "Erreur : Vous n'avez pas &eacute;crit de message";
else {
	$texte = $_POST['texte'];
	echo "<p>Texte brut : $texte </p>";
	$texte = strip_tags($texte);
	echo "<p>Texte filtre : $texte </p>";
	$valeurs = '\''.$_POST['pseudo'].'\',\''.$_POST['email'].'\',\''.$texte.'\'';
	$cmd = "INSERT INTO db_livredor(pseudo,email,texte,date) VALUES($valeurs,NOW())";
	if($result = mysql_query($cmd))
	{
		echo "Votre message a bien &eacute;t&eacute; enregistr&eacute;<br /><br />";
		echo "<a href=\"./livredor.php\">Retour</a><br />";
		echo "(redirection automatique)";
	} else
		echo "Erreur de requ&ecirc;te de base de donn&eacute;es.";
}
Les deux echo de test ont donné pour ce message test :
Test <br>
é è à ç ù
ce résultat dans le code source (de l'affichage de la page php) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<p>Texte brut : Test <br>
é & #232; & #224; ç & #249; </p>
<p>Texte filtre : Test 
é & #232; & #224; ç & #249; </p>
(sans les espaces après le &)

Je ne vois pas d'où peut venir cette conversion des caractères, de plus le 'é' et le 'ç' ne sont pas transformés eux
Merci d'avance