在 Axapta 3.0 中使用代码页 UTF-8 保存文本文件

Save text file with code page UTF-8 in Axapta 3.0

如何在 Axapta 3.0 中创建代码页为 UTF-8 的文本文件?

我无法使用

myFile = new CommaIo(myFileName, 'W', 65001);

正如我们在较新版本的 Axapta 中所做的那样。在 Axapta 3.0 中 new CommaIo 只有前两个参数。

我没有在 3.0 中工作过,但我有一些想法可以为您提供正确的方法。

1) 你有CommaTextIoTextIo吗?这些是您可以在其中指定代码页的对象。

2) 查看 AOT 中是否有名为 #File 的宏,如果有 #utf8Format(65001),则在里面使用 X-Ref(或 Ctrl+F ) 找到系统中使用它的其他地方。然后你可以看到他们如何完成 UTF-8

3) 查看是否可以将 CommaIo 与一些 .NET 代码结合使用,或者只是手动生成一个 CSV。也许生成您的 CSV 并写入,然后读取并使用如下方法重写(来自 MetadataXMLGenerator 作业):

void write(str _directory, str _name, str _text)
{
    str path;
    ;

    _text = System.Text.RegularExpressions.Regex::Replace(_text, '\n', '\r\n');
    if (!System.IO.Directory::Exists(_directory))
    {
        System.IO.Directory::CreateDirectory(_directory);
    }
    path = System.IO.Path::Combine(_directory, _name);
    System.IO.File::WriteAllText(path, _text, System.Text.Encoding::get_UTF8());
}