将代码页UTF-16转换为UTF-8问题

2020-08-23 21:02发布

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

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


亲爱的

我们通过IDOC接收消息。 我们用于连接的用户已维护代码页4103(UTF-16le)。
不幸的是,这可能不只是切换到4110(UTF-8)。

一个IDOC的内容是一个字符串,该字符串旁边的丝毫空格(HEX代码20)和不间断空格(HEX代码A0)。
在SAP PO中,这似乎被保存为UTF-8,即C2。 A0表示不间断空格。
但是在输出文件中,他似乎逐字节读取它,并为C2字节写一个Â。

十六进制代码中的非中断:

UTF 16:00A0
UTF 8:C2 A0
文件输出:C2(Â)

如何处理输出文件不包含Â符号但保留此不间断空格的问题?
是否必须转换传入文件? 如果是这样,您是否有最佳实践(XSTL,Java,模块等)?

感谢
致谢

克里斯

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

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


亲爱的

我们通过IDOC接收消息。 我们用于连接的用户已维护代码页4103(UTF-16le)。
不幸的是,这可能不只是切换到4110(UTF-8)。

一个IDOC的内容是一个字符串,该字符串旁边的丝毫空格(HEX代码20)和不间断空格(HEX代码A0)。
在SAP PO中,这似乎被保存为UTF-8,即C2。 A0表示不间断空格。
但是在输出文件中,他似乎逐字节读取它,并为C2字节写一个Â。

十六进制代码中的非中断:

UTF 16:00A0
UTF 8:C2 A0
文件输出:C2(Â)

如何处理输出文件不包含Â符号但保留此不间断空格的问题?
是否必须转换传入文件? 如果是这样,您是否有最佳实践(XSTL,Java,模块等)?

感谢
致谢

克里斯

付费偷看设置
发送
1条回答
空代码
1楼-- · 2020-08-23 21:32

基本上,您将需要使用标准的SAP PI模块适配器进行此转换,您只需在通信通道中的默认模块之前或之后插入以下模块,如果您希望在适配器处理完消息后进行转换, 如果要在将消息传递到接收方之前进行转换,则将在默认模块适配器之后插入此模块配置,您将在默认模块适配器之前插入。

每当我需要转换char编码时,它对我来说都是有效的

博客: https://博客 .sap.com/2014/10/09/character-encoding-handled-the-right-way/

一周热门 更多>