abap 转换成字符串_SAP ABAP转换特殊字符乱码

在SAP ABAP中,通过WebDynpro上传GBK编码的txt文件时,部分字符转换成乱码。问题源于SAP使用GB2312的codepage 8404,而非GBK兼容的8402。解决方案是使用codepage 8402进行转换。
摘要由CSDN通过智能技术生成

问题的起因是通过txt使用ABAP向SAP导数时,某些文字会转换为乱码。

嫌长不看版:codepage使用8402

有问题的文字为下表中未画删除线的文字:

GBK举例表 来自:GBK编码

FE 0 1 2 3 4 5 6 7 8 9 A B C D E F

4 兀 嗀 﨎 﨏 﨑 﨓 﨔 礼 﨟 蘒 﨡 﨣 﨤 﨧 﨨 﨩

5                

6                

7               

8                

9                

A                

GBK的基本姿势

首先GBK是对GB2312的扩展,采用双字节表示,总体编码范围为 8140-FEFE,首字节在 81-FE 之间,尾字节在 40-FE 之间,除去所有7F结尾的编码(xx7F,如上图中FE7F)。

上图左上角的”FE”指的该表格中的文字的编码都是以”FE”开头,第三位要看左边的数字,第四位要看上面的数字,例如“兀”的编码为”FE40”,“”的编码为”FE50”。

GBK的全部编码分为三大部分:

1. 汉字区。

2. 图形符号区。

3. 用户自定义区。

每个部分具体包括哪些请看GBK编码,写的非常清楚。在这里只需要说一下,用户自定义区的范围是:

(1) AAA1-AFFE,码位 564 个。

(2) F8A1-FEFE,码位 658 个。

(3) A140-A7A0,码位 672 个。

GBK编码范围表:wiki-GBK

SAP端的基本姿势

1.WebDynpro中的上传特点

WebDynpro中使用FileUpload控件进行文件的上传,控件的data属性要绑定给一个xstring类型的Attribute(具体如何实现附件上传本文不具体论述)。我们可以读取这个Attribute值,来查看文件传到SAP后端之后的情况。

现在我们先新建一个文本文档,里面只写一个字:“﨩”,没有回车。然后通过WebDynpro的FileUpload控件上传此文件,可以看到后端获取到的值为:”

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值