Encodage accent en PHP %E9 [Résolu]

Messages postés
34
Date d'inscription
samedi 31 juillet 2010
Statut
Membre
Dernière intervention
26 mars 2013
- - Dernière réponse : cs_jimmyhendrix
Messages postés
34
Date d'inscription
samedi 31 juillet 2010
Statut
Membre
Dernière intervention
26 mars 2013
- 9 févr. 2011 à 03:30
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"];
Afficher la suite 
A voir également:

2 réponses

Meilleure réponse
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
8
3
Merci
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++

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 196 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cod57
Messages postés
34
Date d'inscription
samedi 31 juillet 2010
Statut
Membre
Dernière intervention
26 mars 2013
0
Merci
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 !
Commenter la réponse de cs_jimmyhendrix