[GELÖST] File.CREATE in UTF-8 wird zu ANSI

19. Februar 2018 09:35

Hallo Zusammen,

mit der .CREATE-Funktion erstellt er mir ein File im ANSI-Format und schreibt beispielsweise das "Ö" als "™".
Wie bekomme ich das am elegantesten hin, dass Umlaute auch funktionieren?
Zuletzt geändert von MSNAVLerner am 19. Februar 2018 11:18, insgesamt 1-mal geändert.

Re: File.CREATE in UTF-8 wird zu ANSI

19. Februar 2018 10:17

4.x verwendet intern kein Unicode und es gibt da auch keine Möglichkeit, direkt Unicodedateiformate wie UTF-8 zu zu erzeugen.
Erzeugt wird auch keine ANSI-Kodierung, sondern Codepage 850, das ist ein alte DOS-Codepage, was zu der falschen Sonderzeichendarstellung unter Windows führt.
In Codeunit 11501 sind Funktionen, um Codepage 850 in Code 1252 umzuwandlen (ASCII2ANSI), die müssen für alle Textfelder genutzt werden.

Re: File.CREATE in UTF-8 wird zu ANSI

19. Februar 2018 11:18

Danke für die Info.
Mit der Hilfsfunktion hat es geklappt.

Ich dachte es wäre ANSI, da Notepad++ es als ANSI deklariert hat.

Re: [GELÖST] File.CREATE in UTF-8 wird zu ANSI

19. Februar 2018 13:48

Die Codepage ist nicht direkt in einer Datei erkennbar, nur ob eine Codepagedatei oder eine Unicodedatei vorliegt und bei letzterer über die Byte Order Mark (BOM) das verwendete Unicodetransformationsformat (in aktuellen NAV-Systemen wären UTF-8 oder UTF-16 möglich). Unicode ohne BOM gibt es aber auch.

Umstellen kann man die Codepage in Notepad++ ggf. so wie im letzten Screenshot hier, falls die Datei in Codepage 850 benötigt wird und die Sonderzeichen visuell korrekt dargestellt werden sollen.

Re: [GELÖST] File.CREATE in UTF-8 wird zu ANSI

18. Januar 2022 15:47

Kowa hat geschrieben:Unicode ohne BOM gibt es aber auch.

z.B. ab BC 19 in JSONs von Webhoook Notifications: Working with Webhooks in Dynamics 365 Business Central gemäß RFC 7159 section 8.1
With Business Central version 19, all webhook notifications sent from Business Central will no longer contain the byte order mark (BOM), to align with RCF 7159, section 8.1.