15. Oktober 2019 13:57
Hallo zusammen,
ich habe folgendes Problem:
In unserer Datenbank befindet sich eine Tabelle mit Textbeschreibungen (HTML) in einigen BLOB-Feldern. Diese befüllen wir bisher manuell mit Hilfe des PawnHTMLEditors, der per Automation eingebunden ist. Exporte der BLOBs zeigen die Umlaute, die manuell eingegeben worden sind, wunderbar an.
Nun wollen wir diese Texte durch Texte ersetzen, die von einer XML-Datei stammen. Die XML-Datei lese ich per XMLport ein, das Feld ist als BigText gekennzeichnet. Die dort eingelesenen Umlaute sind - per Message dargestellt - fehlerfrei dargestellt. Das XML-Dokument liegt im UTF8-Encoding vor.
Importiere ich nun das BigText-Feld in das BLOB-Feld, werden die Umlaute nicht mehr korrekt dargestellt. Dabei habe ich sowohl das Schreiben direkt in einen OutStream zum BLOB versucht
- Code:
Tabelle.BLOBField.CREATEOUTSTREAM(loutBLOB);
XMLBigText.WRITE(loutBLOB);
Tabelle.MODIFY;
als auch den Umweg über eine Datei, also Outstream in eine Datei, Instream aus der Datei und von dort IMPORT ins BLOB-Feld. Schon die Datei, die bei zweiterem entsteht, enthält die Darstellungsfehler bei den Umlauten.
Ich stehe auf dem Schlauch und sehe wahrscheinlich den Wald vor lauter Bäumen nicht mehr. Offensichtlich kodiert OUTSTREAM die korrekt eingelesenen Daten nicht "richtig", aber in NAV2009 kann ich OUTSTREAM ja kein Encoding mitgeben, oder? Ein MESSAGE mit GETSUBTEXT vom BigText-Feld zeigt die Umlaute korrekt an, also scheint das Encoding-Problem beim Schreiben dieses Textes aufzutreten.
Hat jemand von Euch vielleicht eine Idee? (Oder einen Link, gefunden habe ich trotz zugegeben vglsweiser kurzer Suche hier im Forum nichts.) Danke im Voraus!