Membres inscrits :2359
Membres en ligne : 0
Invités en ligne : 3


|
Conversation : XML windows-1252 et UTF-8 |
jean-eric (Nouveau membre)
Inscrit le : 02-12-2009
Messages: 4
Snippets: 0
Tutoriels: 0
Hors ligne |
Bonjour,
je voudrais stocker des noms de fichier dans un fichier XML. Mais les noms des fichiers comportent des lettres accentuées (par exemple "c:\clé.txt").
Pour créer mon fichier, j'utilise : ... Xml->SetFileEncoding(XML_ENCODING); ... pFichier->AddProperty(XML_FICHIER_PATH, Path); ... Xml.Save(NomFichierXML);
si je positionne XML_ENCODING à "utf-8" le fichier XML est bien crée mais si je positionne XML_ENCODING à "windows-1252" ou "ISO-8859-1" les lettres accentuées sont ignorées (dans le fichier XML je ne retrouve que : Path="c:\cl.txt").
par contre pour lire ce fichier j'utilise : Xml->Load(NomFichierXML); ... pFichier->GetPropVal(XML_FICHIER_PATH, &Path);
Et là la méthode Load() renvoie une erreur. si j'édite mon fichier XML pour en changer l'entête et positionner l'encodage a "windows-1252" ou "ISO-8859-1" cela semble fonctionner. Par contre dans la variable de type wxString Nom je retrouve une séquence d'octets à la place chaque caractère accentué (c:\clé.txt).
Merci de votre aide.
Jean-Eric
|
|
guyothomas (Membre)
Inscrit le : 05-06-2008
Messages: 66
Snippets: 0
Tutoriels: 0
Hors ligne |
Bonjour, c'est une idée comme ça mais as-tu essayé l'encodage Unicode?
Thomas.
|
|
jean-eric (Nouveau membre)
Inscrit le : 02-12-2009
Messages: 4
Snippets: 0
Tutoriels: 0
Hors ligne |
Merci, pour l'aide.
Je viens d'essayer,
Le résultat ressemble à celui en "windows-1252" ou "ISO-8859-1" car tous les caractères avant l'accent sont ignorés.
|
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
Hello
Normalement, si tu ne spécifies pas l'encodage, wxWidgets va prendre le même que celui des libs que tu utilises, et ça sera forcément compatible.
J'ai une petite application qui stocke des données dans un fichier XML. Je ne spécifie rien lors de l'enregistrement, et comme j'utilise la version UNICODE des libs wxWidgets, l'entête du fichier XML est la suivante :
Code:<?xml version="1.0" encoding="utf-8"?> Certaines des données contenues dans ce fichier ont des caractères accentués, et ça marche nickel.
Essaye sans spécifier l'encodage, pour voir.
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà ... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
|
jean-eric (Nouveau membre)
Inscrit le : 02-12-2009
Messages: 4
Snippets: 0
Tutoriels: 0
Hors ligne |
Merci de t'intéresser à mon problème.
Sur la première version de mon programme, je ne spécifiait rien comme tu le propose. le fichier était bien crée en encodage UTF8. mail à la lecture, la méthode Load() renvoyait une erreur.
J'utilise l'environnement wx-devcpp
j'ai fait d'autres essais avec code::Blocks en compilant moi même le dernière version de wx-widget en unicode et là c'est la méthode GetPropVal() qui plante carrément le programme (en plus j'ai un warning à la compilation : GetPropVal' is deprecated (declared at C:/wxWidgets-2.9.0/include/wx/xml/xml.h:222)
je suis un peu perdu.
Jean-Eric
|
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
jean-eric:J'ai fait d'autres essais avec code::Blocks en compilant moi même le dernière version de wx-widget en unicode et là c'est la méthode GetPropVal() qui plante carrément le programme (en plus j'ai un warning à la compilation : GetPropVal' is deprecated (declared at C:/wxWidgets-2.9.0/include/wx/xml/xml.h:222) Apparemment, avec la version 2.9 de wxWidgets, la méthode GetProvVal a été remplacée par GetAttribute, mais je doute que le problème vienne de là .
Essayes de poster un peu de code (pour l'écriture et la lecture du fichier xml), pour voir.
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà ... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
|
jean-eric (Nouveau membre)
Inscrit le : 02-12-2009
Messages: 4
Snippets: 0
Tutoriels: 0
Hors ligne |
Mes problèmes sont maintenant résolus
Merci Xaviou
|
|
|