Encodage accent en PHP %E9 [Résolu]

Signaler
Messages postés
34
Date d'inscription
samedi 31 juillet 2010
Statut
Membre
Dernière intervention
26 mars 2013
-
Messages postés
34
Date d'inscription
samedi 31 juillet 2010
Statut
Membre
Dernière intervention
26 mars 2013
-
Salut,

Je suis vraiment bloqué ! J'ai fait un code javascript qui créer une form paypal avec les donnés que le client a inscrit dans la page d'achat en ligne. L'important, c'est que je fais passer les informations du client (nom et adresse) par url (je le place dans l'url où il sera redirigé après avoir complété le paiement). Ca fonctionne très bien ! Dans la nouvelle page avec mes variables dans l'url, j'enregistre ses informations dans un fichier xml (pour la comptabilité de notre entreprise). Par contre, le problème est la ! S'il y a des accents dans ses infos, ça fait tout planté. Habituellement, je suis capable d'encoder sans problème, mais j'ai essayé toutes les méthodes et rien fonctionne.

Par exemple :

$nom = htmlentities($nom,ENT_NOQUOTES,'ISO8859-1');
$nom = html_entity_decode($nom); 
$nom = stripslashes($nom);

$nom = str_replace(...


Voici à quoi ressemble mon url lorsque paypal redirige le client :
http://www.monsiteweb.com/merci.php?nom=Paul%20Guay&mail=pauguay@gmail.com&numero=1234&app=32&rue=Lessard&ville=Qu%E9bec&province=Qu%E9bec&codepostal=G1R%203T8

Donc,
nom=Paul Guay
mail=pauguay@gmail.com
numero=1234
app=32
rue=Lessard
ville=Québec
province=Québec
codepostal=G1R 3T8

Étrangement, ca fonctionne pour l'envoie d'un e-mail qui est fait du meme coup (les accents apparaissent dans le mail) sans que j'aie à faire aucun encodage. Par contre, c'est un code que j'ai pris quelque part et je crois qu'il encode déjà dans ces 3 lignes :

$From  = "From: " . $destinateur . "\n";
$From .= "MIME-version: 1.0\n";
$From .= "Content-type: text/html; charset= iso-8859-1\n";


Je suis vraiment bloqué, si quelque pouvait m'aider, ce serait grandement apprécié !! Je vous donne aussi mon code d'enregistrement xml :


$xml_upload = 'no="'.$no.'" nom="'.$nom.'" mail="'.$mail.'" numero="'.$numero.'" app="'.$app.'" rue="'.$rue.'" ville="'.$ville.'" province="'.$province.'" codepostal="'.$codepostal.'" date="'.$date.'"/>';



$filename = 'shop/particulier2011.xml';



$newContent = '"; 



$content = file_get_contents($filename); 



$newContent = str_replace('</factures>', $newContent, $content); 



$handle = fopen($filename, "w" );

fwrite($handle, $newContent); 

fclose($handle);


Je prends la méthode GET pour obtenir mes variables : $nom = $_GET["nom"];

2 réponses

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
15
bonsoir

ceci affichera le tableau des $_GET

echo '';
print_r($_GET);
echo '

';

<?xml version="1.0" encoding="ISO-8859-1" ?>
as tu cette ligne en tête de fichier dans particulier2011.xml

a++
Messages postés
34
Date d'inscription
samedi 31 juillet 2010
Statut
Membre
Dernière intervention
26 mars 2013

WOW ! Bien vu ! En tête de mon fichier xml, j'avais encoding="UTF-8" et non ISO-8859-1 ! Mon problème est enfin réglé !

Merci mille fois !