加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

gSoap下的中文支持

发布时间:2020-12-17 00:20:13 所属栏目:安全 来源:网络整理
导读:最近有一个Webservice的对接项目,其中用到了gSoap工具在C/C++下进行对接开发。中间遇到一个中文编码的问题。 项目环境是在Linux下的,但是由于网络的问题只能在windows下写了一个demo测试程序。在对接过程中一直有一个发送中文编码的问题。查了不少资料,读

最近有一个Webservice的对接项目,其中用到了gSoap工具在C/C++下进行对接开发。中间遇到一个中文编码的问题。

项目环境是在Linux下的,但是由于网络的问题只能在windows下写了一个demo测试程序。在对接过程中一直有一个发送中文编码的问题。查了不少资料,读了一下gSoap的源码,原来是中文编码的问题。

注意:

gsoap中文支持。2种方式解决;
注;方法a不适用于非中文操作系统,linux,unix,aix请用方法b
a.?setlocale(LC_ALL,?"");
soap_set_mode((soap*)&client,SOAP_C_MBSTRING);
设定本地字符集(既中文编码)及MultiByteString(GB双字节编码),中文字符串不需要另行转换

所以Windows下的VC6.0中的demo程序中需要设置SOAP_C_MBSTRING属性。

b.?使用UTF8编码传输
soap_set_mode((soap*)&client,SOAP_C_UTFSTRING);
client.mode|=SOAP_C_UTFSTRING;?//解析接受时可能需要设定,发送无需设定
将中文字符串转码(UTF8)发送。

?

?

所以中文编码在多环境、多操作系统支持切换中,是一个特别需要留心的地方。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读