Bonjour à tous,

J'ai une erreur 406 sur mon site chaque fois que le caractère % (pourcentage) est inscrit dans un champ de mon formulaire et que j'envoie en POST sur un fichier PHP.

Mon hébergeur dit que le % en utf-8 est %25 et que je dois me servir de la fonction str_replace() de PHP. Mon problème est que j'ai l'erreur 406 avant même d'accéder à la page PHP. J'ai créé le fichier test.html pour un formulaire et un fichier test1.php pour tester au plus simple et j'ai toujours la même erreur.

Le code de test.html :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Ma page de test</title>
  </head>
  <body>
    <form action = "test1.php" method="post">
      Votre nom : <input type = "text" name = "nom"><br />
      <input type = "submit" value = "Envoyer">
    </form>
  </body>
</html>
Le code du fichier test1.php :
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
 
<?php
?>
<html>
  <head>
    <title>Ma page de traitement</title>
  </head>
  <body>
<?php
// on teste la déclaration de nos variables
if (isset($_POST['nom'])) {
        // on affiche nos résultats
        echo 'Votre nom est '.$_POST['nom'];
}
?>
  </body>
</html>
J'ai même essayé avec un var_dump($_POST['nom']) et l'erreur 406 arrive avant. Alors, comment gérer le str_replace() ou toute autre solution, elle sera la bienvenue?

Merci.

Dany