Bonjour !
J'ai un problème que je ne parvient pas à résoudre. C'est une problème d'encodage de caractère mais comme je pense que le problème viens de php je poste ici. Voilà :
J'ai deux scripts séparés qui n'affichent pas de html et ne font que traiter des données disont a.php et b.php
dans ces 2 script j'ai ces lignes de redirections déclanchées dans certaines conditions :
a.php contient
header("Location erreur.php?message=symboles non autorisés");
et dans b.php
header("Location erreur.php?message=symboles non autorisés");
la même chose en fait
mon fichier erreur.php affiche le message de cette manière :
<?=htmlentities(stripslashes($message))?>
(oui je sais le strip est étrange à cet endroit mais c'est une autre histoire ça)
La page erreur.php est en utf-8
le hic c'est que les é s'affiche correctement quand le message vient de a.php mais plantent en affichant é quand le message vient de b.php.
d'ailleurs quand je regarde dans l'url le passage de la variable message pour a.php il est encodé en %E9 et pour b.php en %C3%A9
c'est étrange vu que mes 2 fichiers a et b sont pratiquement identiques...
J'ai entendu dire qu'un fichier php sans html (de traitement de données donc) avait un type d'encodage.
Est-ce que ça signifie que si j'ai créé mon fichier a.php sous dreamweaver par exemple et mon fichier b.php sous un autre éditeur cela peu poser problème ?
Des pistes ? Comment faire ? Ou fais-je une erreur dans mon raisonnement ?
Je ne souhaite qu'une chose : d'avoir fait une erreur bien neuneu qui vous face bien rire et que tout rentre dans l'odre ça fait 4 heures que je me casse la t^te sur ce problème !
Partager