Encodage accent en PHP %E9 [Résolu]

cs_jimmyhendrix 34 Messages postés samedi 31 juillet 2010Date d'inscription 26 mars 2013 Dernière intervention - 8 févr. 2011 à 19:30 - Dernière réponse : cs_jimmyhendrix 34 Messages postés samedi 31 juillet 2010Date d'inscription 26 mars 2013 Dernière intervention
- 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 

2 réponses

Répondre au sujet
cod57 1661 Messages postés dimanche 7 septembre 2008Date d'inscription 11 septembre 2013 Dernière intervention - 8 févr. 2011 à 20:18
+3
Utile
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++
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cod57
cs_jimmyhendrix 34 Messages postés samedi 31 juillet 2010Date d'inscription 26 mars 2013 Dernière intervention - 9 févr. 2011 à 03:30
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.