当指定带有BOM的UTF8时,非unicode系统将写入非unicode文件

2020-08-26 20:57发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们正尝试使用ABAP使用以下语句在Application Server上编写UTF8文件(带有BOM):

打开数据集<文件>,用于在文本模式下以UTF-8编码输出,并带有字节顺序标记忽略转换错误。

尽管在unicode环境中,这还是完美的; 但是,在非Unicode环境([a] Netweaver 7.3,应用程序服务器代码页1100;和[b] Netweaver 7.31,应用程序服务器代码页1160)上,生成的文件没有BOM且应用程序服务器的代码页匹配。

a)这是预期的行为,而忽略了本规范"使用BYTE-ORDER MARK编码UTF-8"吗?

b)是否有解决方法? 请注意,文件很大且内存有限,因此在内存中使用二进制和字符转换不是理想的选择。

谢谢,
周杰伦:)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们正尝试使用ABAP使用以下语句在Application Server上编写UTF8文件(带有BOM):

打开数据集<文件>,用于在文本模式下以UTF-8编码输出,并带有字节顺序标记忽略转换错误。

尽管在unicode环境中,这还是完美的; 但是,在非Unicode环境([a] Netweaver 7.3,应用程序服务器代码页1100;和[b] Netweaver 7.31,应用程序服务器代码页1160)上,生成的文件没有BOM且应用程序服务器的代码页匹配。

a)这是预期的行为,而忽略了本规范"使用BYTE-ORDER MARK编码UTF-8"吗?

b)是否有解决方法? 请注意,文件很大且内存有限,因此在内存中使用二进制和字符转换不是理想的选择。

谢谢,
周杰伦:)

付费偷看设置
发送
3条回答
95年老男孩
1楼-- · 2020-08-26 21:24

嗨,杰伊,

请检查SAP Note 27和788449。

它说明了如何使用BOM。 因此,我建议尝试使用类CL_ABAP_FILE_UTILITIES的方法CREATE_UTF8_FILE_WITH_BOM创建文件。


最诚挚的问候,
Andreas

土豆飞人
2楼-- · 2020-08-26 21:30

看起来像是OPEN DATASET的错误还是ABAP文档不完整。 我建议您在SAP支持部门开张罚单。

天桥码农
3楼-- · 2020-08-26 21:45

True Sandra。 我认为这不是OPEN DATASET问题,因为它已经工作了很多年。 也许支持可以带来一些启发。

一周热门 更多>