Envoyé par : guyzmo
Date : 26/07/2006 17:22
Bonjour,
j'ai créé un composant XPCOM ( en Javascript) utilisant l'interface des RDF. Lors de son initialisation il télécharge un graph RDF depuis un fichier distant.
Comme les XML-RDF ne sont pas modifiables, je suis obligé de me créer une source mémoire (mon composant est en fait une facade sur cet objet) qui est remplie à partir du RDF précédement chargé. Ne sachant pas comment faire pour ajouter directement les resources du RDF-XML vers le RDF-mémoire, j'ai utilsé une facon plutot sale : conversion du RDF en chaine et création d'une source interne depuis la chaine ...
D'ou vient le probleme ? Je n'ai pas vu de méthode dans @mozilla.org/rdf/xml-parser; indiquant l'encodage de caractères à utiliser. Pourquoi est-ce qu'il traite la chaine comme du latin-9 ?
Lorsque j'ajoute de nouvelles ressources (depuis mon composant) à ma source mémoire, les caractère accentués sont affiché correctement.
Si quelqu'un avait une solution a ce problème ca m'arrangerait bien ( style une facon d'obliger le parseur a bosser en utf ou une méthode pour parcourir le premier graph et ajouter simplement les resources aux deuxieme sans connaitre la structure du premier).
merci de votre aide
Envoyé par : guyzmo
Date : 26/07/2006 17:47
Le problème est résolu grace au lien suivant : http://xulplanet.com/forum/viewtopic.php(..)
Par contre je ne comprends pas du tout pourquoi il faut que je convertisse ma chaine utf en utf avant de l'utiliser ...
var uConv = Components.classes['@mozilla.org/intl/scriptableunicodeconverter'].createInstance(Components.interfaces.nsIScriptableUnicodeConverter); uConv.charset = "utf-8"; var parser=Components.classes["@mozilla.org/rdf/xml-parser;1"].createInstance(Components.interfaces.nsIRDFXMLParser); parser.parseString ( this.mInner , baseUri, uConv.ConvertToUnicode(outputStream.data) );
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.