SAP 编码(Code pages)
Package SCP: SAP Code Pages
Transaction SCP: 查看系统Code page
CL_ABAP_CODEPAGE Code Page 工具类
字符与编码的转换
SAP编码与其它编码的名称对应
SAP系统默认编码
常见字符编码在sap中对应的code page
UTF-8:
Code page 4110
带BOM的UTF-8:
编码方式为4110,和UTF-8的区别是具有BOM,使用4110转化后的xstring前拼接
EFBBBF可被TEXT文本识别为带BOM的UTF-8
UTF-16BE:
Code page 4102 编码前拼接FEFF(SAP转换不会添加),可被TEXT文本识别
UTF-16LE:
Code page 4103 编码前拼接FFFE(SAP转换不会添加),可被TEXT文本识别
GB2312:
Code page 8400 简体中文系统下,ANSI 编码代表 GB2312 编码,TEXT中编码方式显示为ANSI
Big5 繁体字:
Code page 8300 GB2312也支持繁体字
PS:
1. 关于字符编码的详细信息见百度资料
2. 不要随便复制字符串到系统中,有些字符复制到SAP中不可见,却会实际产生影响,如下代码
DATA: lv_string1 TYPE string,
lv_string2 TYPE string.
DATA: lv_xstring1 TYPE xstring,
lv_xstring2 TYPE xstring.
lv_string1 = 'A'.
lv_string1 = |'|.
lv_string2 = 'A'.
lv_string2 = |'|.
lv_xstring1 = cl_abap_codepage=>convert_to( lv_string1 ).
WRITE:/ lv_string1.
WRITE:/ lv_xstring1.
lv_xstring2 = cl_abap_codepage=>convert_to( lv_string2 ).
WRITE:/ lv_string2.
WRITE:/ lv_xstring2.
IF lv_string1 = lv_string2.
WRITE: /'lv_string1 = lv_string2'.
ELSE.
WRITE: /'lv_string1 <> lv_string2'.
ENDIF.
比如将不可见字符复制到GUI_DOWNLOAD的下载路径中会引发异常 UNKNOWN_DP_ERROR
该异常排查时比较麻烦,感兴趣的朋友可以试着恶作剧下
post SAP-Garson
原文链接:https://blog.csdn.net/xiefireworks/article/details/120927176文章来自于网络,如果侵犯了您的权益,请联系站长删除!