在 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) 你有CommaTextIo
或TextIo
吗?这些是您可以在其中指定代码页的对象。
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());
}
如何在 Axapta 3.0 中创建代码页为 UTF-8 的文本文件?
我无法使用
myFile = new CommaIo(myFileName, 'W', 65001);
正如我们在较新版本的 Axapta 中所做的那样。在 Axapta 3.0 中 new CommaIo
只有前两个参数。
我没有在 3.0 中工作过,但我有一些想法可以为您提供正确的方法。
1) 你有CommaTextIo
或TextIo
吗?这些是您可以在其中指定代码页的对象。
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());
}