Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour,
je me permet de poster ici car je suis confronté à un problème assez embêtant et malheureusement la fonction recherche du forum ne m'a pas aidé, tout comme l'aide Sybase (j'utilise PB 10.5.2). Je m'explique.
Générant des fichiers XML grâce à l'export de datastore mais aussi grâce à l'objet PBDOM (la solution avait d'ailleurs été trouvée sur ce forum, encore merci), PowerBuilder rajoute automatiquement en début de fichier un code correspondant à l'encodage utilisé. Pour ceux qui ne connaissent pas, voir le lien suivant :
http://unicode.org/faq/utf_bom.html#BOM
Le problème est que le programme qui lit les fichiers générés remarque ces caractères spéciaux et rejette mon document...et bien sur je n'ai pas la main desssus. En plus c'est assez vicieux car beaucoup de programme ne l'affiche pas, tout du moins par défaut (genre WordPad, UltraEdit, etc...).
Ma question est donc : est-il possible de forcer PowerBuilder à ne pas mettre ce code au début du document ? Si oui, comment ?
Merci par avance pour vos réponses.
Cordialement, Adrien.
Dernière modification par Adrien (20-06-2008 11:46:28)
Hors ligne
Bonjour,
N'étant pas passé par le forum depuis un bout de temps, j'en profite pour poster la solution que j'ai mise en oeuvre pour contrer ce problème, avec ma fonction d'écriture de fichier XML :
Integer li_FileNum Long ll_nbBitsWritten Blob lblb_TemporaryBinaryObject is_XML_Meta = "<?xml version='1.0' encoding='windows-1252' standalone='no'?>" lblb_TemporaryBinaryObject = Blob(is_XML_Meta + is_un_flux_xml, EncodingANSI!) li_FileNum = FileOpen(as_physical_location + as_document_id, TextMode!, Write!, Shared!, Replace!) ll_nbBitsWritten = FileWriteEx(li_FileNum, lblb_TemporaryBinaryObject) RETURN (ll_nbBitsWritten <> -1)
Et voila cette solution est parfaite et consomme moins de ressource que PBDOM, à bon entendeur ;).
A bientôt.
Hors ligne
Merci pour ce bout de code
Hors ligne
+10000
Hors ligne
Pages: 1