Erstellen einer UTF-8 oder UTF-16 Textdatei aus NAV

Erstellen einer UTF-8 oder UTF-16 Textdatei aus NAV

  • Comments 4

Wenn Sie normalerweise Dateien aus NAV erstellen, dann sind diese immer in ANSI kodiert.

Ich hatte mich einmal auf die Suche gemacht ob wir mit Hilfe von Automation Server eine UTF-8 oder UTF-16 Datei erstellen können.

Eine Möglichkeit ohne auf die .NET Interoperability von NAV 2009 R2 zurückzugreifen wäre es die Bibliothek 'Microsoft ActiveX Data Objects 2.8 Library' zu verwenden.

Name DataType Subtype Length
UTFStream Automation 'Microsoft ActiveX Data Objects 2.8 Library'.Stream


CREATE(UTFStream);
UTFStream.Open;
UTFStream.Charset('UTF-8');
//UTFStream.Charset('UTF-16');

UTFStream.WriteText('Ich bin UTF-8');
//UTFStream.WriteText('Ich bin UTF-16');


UTFStream.SaveToFile('c:\TEMP\UTFtext.txt');

UTFStream.Close;

 

Disclaimer
“Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability or fitness for a particular purpose. This mail message assumes that you are familiar with the programming language that is being demonstrated and the tools that are used to create and debug procedures.”

 

These postings are provided "AS IS" with no warranties and confer no rights. You assume all risk for your use.

Mit freundlichen Grüßen

Sebastian Röttel

Microsoft Dynamics Germany

Microsoft Customer Service and Support (CSS) EMEA

Leave a Comment
  • Please add 4 and 1 and type the answer here:
  • Post
  • Hallo,

    vielen Dank für die Anleitung, zunächst funktioniert das soweit sehr gut. Allerdings beginnt die Datei immer mit den HEX-Code EF BB BF, wenn ich diese lt. obiger Beschreibung erstelle. Gibt es hier eine Möglichkeit diese Bytes wieder aus der Datei zu löschen?

    Gruß

    Thomas

  • Hallo,

    danke auch von mit für die Anleitung!

    Leider kriege ich den Zeilenumbruch, CR+LF, nicht hin!?! Ich mache es wie folgt(CRLF ist eine Textvariable die 2-Zeichen lang ist):

    ...

    CRLF[1]:=13;

    CRLF[2]:=10;

    UTFStream.WriteText('Ich bin UTF-8');

    UTFStream.WriteText(CRLF);

    UTFStream.WriteText('Ich bin wieder UTF-8');

    ...

    Gibt es vielleicht eine spezielle Funktion in Automation wo man es steuern kann oder mache ich etwas falsch?

  • Hallo Eugen,

    ich habe das in dem NAV 2009 R2 Build 36827 Classic Client getestet und das Ergebnis ist:

    Ich bin UTF-8

    Ich bin wieder UTF-8

  • Hallo Herr Röttel,

    ich stehe vor dem selben Problem wie Eugen und kriege den Zeilenumbruch nicht realisiert. Können Sie evtl. Ihre Lösung genauer beschreiben?

Page 1 of 1 (4 items)