Seite 1 von 1

Umlaute beim XLM Import

Verfasst: 23.10.2016, 19:35
von OliverBreith
Hallo zusammen,

mit diesem Code von radzmar importiere ich eine XML Datei in ein Formular

var vStream = util.readFileIntoStream();
if (vStream) {
var vImport, vImportData, vImportXML;
vImport = util.stringFromStream(vStream)
.replace(/(\<\?.*\?\>\s*)|(\<!-{2}(.|\n|\r)*-{2}\>)|(\r\n|\r|\n)/g, "");
vImportData = eval(vImport);
vImportXML = vImportData.toXMLString();
xfa.datasets.data.loadXML(vImportXML, false, true);
}

Leider leider fehlen nach dem Import alle Umlaute.

Kann mir jemand helfen und diesen Code erweitern so dass die Umlaute im Pdf angezeigt werden.

Vielen Dank für eure Hilfe
Oliver Breith

Umlaute beim XLM Import

Verfasst: 25.10.2016, 12:50
von landei2003
Hallo,

probiers mal so:

Code: Alles auswählen

vImport = util.stringFromStream(vStream, "utf-8")
oder so:

Code: Alles auswählen

vImport = Net.stringFromStream(vStream, "utf-8")




Viele Grüße
Stephan

Umlaute beim XLM Import

Verfasst: 25.10.2016, 21:50
von radzmar
Hi,

die eval()-Methode ist wohl die Wurzel allen Übels. Versuchs mal ohne diese:

Code: Alles auswählen

var vStream = util.readFileIntoStream(),
    vStreamData;
    if (vStream) {
        vStreamData = util.stringFromStream(vStream, "utf-8").replace(/^<?.*?>$/gm, "");
        xfa.datasets.data.loadXML(vStreamData, false, false);
        // Restlicher Code
        …
}

Umlaute beim XLM Import

Verfasst: 18.12.2016, 10:33
von OliverBreith
Hallo Razmar,

leider funktioniert der Code nicht, da sie XML-Datei deutesche Umlaute enthalten soll ist diese im im ISO-8857-1 Format erstellt.

<?xml version='1.0' encoding='ISO-8859-1'?>

Kannst du mir bitte dabei nochmals behilflich sein.


Die eine Zip mit XML File und pdf-Dokument habe ich beigefügt.

Umlaute beim XLM Import

Verfasst: 20.12.2016, 19:37
von radzmar
Die Methode stringFromStream() unterstützt nur die Zeichensätze UTF-8, UTF-16, Shift-JIS, BigFive, GBK und UHC aber nicht ISO-8859-1. Du musst deine XML entsprechend anders kodieren damit die Umlaute erhalten bleiben.