#1 Le 07/12/2008, à 15:28
- ChristopheCharron
Comment éliminer un caractère "cabalistique"?
Bonsoir,
je récupère un mail dont voici la partie qui me pose problème :
Subject: =?utf-8?B?RGVsaXZlcnkgRmluYWwgRmFpbHVyZSBOb3RpY2UA?=
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64Q2FuIG5vdCBkZWxpdmVyIHRoZSBtZXNzYWdlIHlvdSBzZW50LiBXaWxsIG5vdCByZXRyeS4A
Après décodage et lors du traitement dans un fichier xml (voir icihttp://test03.christophe-charron.org/pu … stique.xml), je plante.
En effet, en lisant ce fichier en binaire, je m'aperçois qu'il figure un caractère avec 0 comme code ascii !!!
- Comment puis-je détecter ce genre de caractère ?
- Comment les remplacer ?
- Quels sont les autres caractères dont il faut que je me méfie ?
D'avance, merci pour vos lumières
Cordialement,
Christophe Charron
http://xsoftware.fr
Hors ligne
#2 Le 07/12/2008, à 17:12
- HP
Re : Comment éliminer un caractère "cabalistique"?
Un truc que je ne comprends pas c'est cette structure :
<donnees><quoi action_cleunik="10003513" description="" choix_cleunik="-110102" dateheuredebut="2008-12-03 07:35:02" dateheurefin="2008-12-03 07:35:02" datedebut="03.12.2008" datefin="03.12.2008" heuredebut="07:35:02" heurefin="07:35:02" genre="Réception de courriel" priorite="Normale" statut="En cours" sujet="Delivery Final Failure Notice�" reference="" poidsdesmots="" qui="" prop_pj=""/></donnees>
et non pas un truc du genre :
<?xml version="1.0" encoding="UTF-8"?>
<email>
<priority>0</priority>
<subject><![CDATA[Delivery Final Failure Notice�]]></subject>
<content><![CDATA[]]></content>
<author></author>
</email>
Puis dedans les dates en respectant un quelconque RFC… etc…
Pourquoi ce choix ?
ça ne résout pas le souci d'encodage, mais ça évite déjà l'erreur de parsing…
Dernière modification par HP (Le 07/12/2008, à 17:13)
cat /dev/urandom >/dev/null 2>&1 #github
Hors ligne
#3 Le 07/12/2008, à 21:19
- ChristopheCharron
Re : Comment éliminer un caractère "cabalistique"?
Un truc que je ne comprends pas c'est cette structure :
<donnees><quoi action_cleunik="10003513" description="" choix_cleunik="-110102" dateheuredebut="2008-12-03 07:35:02" dateheurefin="2008-12-03 07:35:02" datedebut="03.12.2008" datefin="03.12.2008" heuredebut="07:35:02" heurefin="07:35:02" genre="Réception de courriel" priorite="Normale" statut="En cours" sujet="Delivery Final Failure Notice�" reference="" poidsdesmots="" qui="" prop_pj=""/></donnees>
et non pas un truc du genre :
<?xml version="1.0" encoding="UTF-8"?> <email> <priority>0</priority> <subject><![CDATA[Delivery Final Failure Notice�]]></subject> <content><![CDATA[]]></content> <author></author> </email>
Puis dedans les dates en respectant un quelconque RFC… etc…
Pourquoi ce choix ?
Depuis l'abandon du RDF dans le peuplement des arbres xul par Mozilla, c'est la seule syntaxe acceptée que je connaisse.
ça ne résout pas le souci d'encodage, mais ça évite déjà l'erreur de parsing…
Oui, mais je ne peux pas remplir mon arbre avec !!
Cordialement,
Christophe Charron
http://xsoftware.fr
Hors ligne
#4 Le 07/12/2008, à 21:47
- ChristopheCharron
Re : Comment éliminer un caractère "cabalistique"?
Bonsoir,
j'ai trouvé cela, en php
$vl_c_z02=preg_replace("/\\x0|[\x01-\x1f]/U","",$vl_c_z02);
et également cela
$vl_c_z02 = preg_replace('/^\W+|\W+$/', '', $vl_c_z02);
La première syntaxe me paraissant plus "sioux".
Des commentaires ?
Cordialement,
Christophe Charron
http://xsoftware.fr
Hors ligne