关键词:银企直联、福建海峡银行、银企平台、科蓝软件系统有限公司、银企通、中文乱码
参考文档:
各种编码格式,你懂得!!!https://cloud.tencent.com/developer/article/1460395
彻底搞明白 GB2312、GBK 和 GB18030 - 知乎
彻底搞懂编码 GBK 和 UTF8 - 程序员小王啊 - 博客园
更新日志:
20230820V1.0.0:初稿
1.XML字符集编码在哪里?
每个XML文档都由XML序言开始,在前面的代码中第一行便是XML序言:
<?xml version="1.0" encoding="UTF-8"?>
?xml version="1.0"这一行代码会告诉解析器和浏览器,这个文件应该按照1.0版本的XML规则进行解析。
encoding="UTF-8"表示此XML文件采用UTF-8的编码格式(世界通用)。
<?xml version="1.0" encoding="GBK"?>
XML声明的编码格式(encoding)为GBK,即中国国标编码。
2.银企平台中的XML编码在哪里看?
2.1XML字符集对应金蝶银企平台上的位置
系统管理-前置机配置-选择对应的银行-字符集(海峡银行科蓝银企通支持GBK和UTF-8)
目前银企平台中涉及到
不同银行的字符集:UTF-8、GB2312、GB18030、GBK
字符集空格中是否允许修改:这个看银行,每家银行的设置不太一样。
2.2插件中的字符串是否允许修改
com.kingdee.bos.ebservice.fjnxbc.dc中的BankRequireConfigImpl.java中的BankLoginConfigUtil.getBankLoginConfig(BankloginConfigUtil.CHARSET,"字符集","UTF-8").set2ReadOnly
set2ReadOnly的属性去掉,银企平台页面就能编辑字符集了,
每个插件都有自己的BankRequireConfigImpl类,只会影响到当前银行。
或者是将里面的UTF-8改为其他参数,如GBK。
如有二开,还要确保二开代码,凡是用到编码字符的时候,都是引用的这个参数。
3.XML字符集的编码有什么用呢?如果传错了有什么影响嘛?
有的,会导致程序传回的出现乱码无法解析。
如果发现跟银行交互的报文中存在中文的乱码的情况,如下图所示,就是需要检查下前置机配置。
中文乱码问题可参考:
#常见问题#【熊说银企FAQ】福建海峡银行:金蝶银企平台接收银行前置机的日志出现乱码?
4.科蓝CSIIproxy银企通中如何查看需要选择哪个字符集编码?
4.1查看银行支持哪个字符集编码
具体要以银行接口文档中的表述为准。
这边表述的是银行支持最终收到的报文必须是UTF-8。
这边表述的是科蓝前置机软件CSIIproxy代理程序支持将ERP系统的请求字符集转为UTF-8
怎么理解这个做法呢?
ERP-科蓝银企通程序-银行端系统
4.2银企通CSIIPROXY中通讯报文自动UTF8转码
如果银企平台/银企云走的字符编码为UTF-8,不需要勾选,不需要前置机做字符编码转码。
如果银企平台/银企云走的字符编码为GBK,需要勾选,GBK转给前置机后,前置机会自动转为UTF-8提交给银行。
*光大银行针对此参数不受用。本文中主要验证的是福建海峡银行所使用的银企通程序。
5.应用小结
注意事项;补充说明(视情况而定)
福建海峡银行使用的前置机是由科蓝软件系统有限公司开发的银企通B2EProxy。
科蓝公司开发银企通程序的银行有:
光大银行、福建海峡银行、泉州银行、福建省农村信用社联合社、天津银行、石嘴山银行、长治银行、安徽省农村信用社联合社、九江银行等。
推荐阅读