Encodage accent en PHP %E9 [Résolu]

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

Votre réponse

2 réponses

Meilleure réponse
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Dernière intervention
11 septembre 2013
- 8 févr. 2011 à 20:18
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++

Merci cod57 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

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

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.