VC使用gsoap开发客户端向java服务端发数据中文乱码?

时间:2022-06-13 18:00:36
网上的方法都试过了,如 :
soap_set_mode(&add_soap, SOAP_C_UTFSTRING);
add_soap.mode|= SOAP_C_UTFSTRING;
还是不生效。

VC2005,gsoap 2.7的版本,将中文由GB2312转为UTF-8,后发送。
求大神们支持啊。
服务端是java的

9 个解决方案

#1


先看服务端是如何接收,解码的

#2


java服务器收到后是GBK的,听说中间传输的时候是ISO-8859-1,所以VC先应该将xml编码为8859-1...不知道该怎么转。。。

#3


我用gsoap很渣,感觉甚至不如vc写dll,,C#写webservice,把传输的东西传送给c#,让C#去发送

#4


仔细想了想,感觉几个问题,服务端是什么系统?LINUX?
JAVA端接收中文乱码,亦即英文正常?会不会是他们那边的问题?让他们把接收到的流数据打印出来看看。
因为没接触过JAVA,以下这条若不对,谨当我放屁。试试看若你传输的时候是UTF8,JAVA端不管什么编码,以UTF8解析下看看是否正确。

这应该是跨语言两端对流的问题,可惜没做过,仅凭猜也不知道到底是语言还是平台还是编码的问题,找个有经验人士问问吧。

#5


引用 4 楼 xuddk727 的回复:
仔细想了想,感觉几个问题,服务端是什么系统?LINUX?
JAVA端接收中文乱码,亦即英文正常?会不会是他们那边的问题?让他们把接收到的流数据打印出来看看。
因为没接触过JAVA,以下这条若不对,谨当我放屁。试试看若你传输的时候是UTF8,JAVA端不管什么编码,以UTF8解析下看看是否正确。

这应该是跨语言两端对流的问题,可
惜没做过,仅凭猜也不知道到底是语言还是平台还是编码的问题,找个有经验人士问问吧。

多谢许大哥帮忙,服务器是linux的,tomacat

#6


会不会是发送过程中结构体对齐的问题?

#7


引用 5 楼 xiaoxiaoyu85 的回复:
Quote: 引用 4 楼 xuddk727 的回复:

仔细想了想,感觉几个问题,服务端是什么系统?LINUX?
JAVA端接收中文乱码,亦即英文正常?会不会是他们那边的问题?让他们把接收到的流数据打印出来看看。
因为没接触过JAVA,以下这条若不对,谨当我放屁。试试看若你传输的时候是UTF8,JAVA端不管什么编码,以UTF8解析下看看是否正确。

这应该是跨语言两端对流的问题,可
惜没做过,仅凭猜也不知道到底是语言还是平台还是编码的问题,找个有经验人士问问吧。

多谢许大哥帮忙,服务器是linux的,tomacat

惭愧,我这方面的经验有限,恐怕帮不了你什么忙

#8


引用 7 楼 xuddk727 的回复:
Quote: 引用 5 楼 xiaoxiaoyu85 的回复:

Quote: 引用 4 楼 xuddk727 的回复:

仔细想了想,感觉几个问题,服务端是什么系统?LINUX?
JAVA端接收中文乱码,亦即英文正常?会不会是他们那边的问题?让他们把接收到的流数据打印出来看看。
因为没接触过JAVA,以下这条若不对,谨当我放屁。试试看若你传输的时候是UTF8,JAVA端不管什么编码,以UTF8解析下看看是否正确。

这应该是跨语言两端对流的问题,可
惜没做过,仅凭猜也不知道到底是语言还是平台还是编码的问题,找个有经验人士问问吧。

多谢许大哥帮忙,服务器是linux的,tomacat

惭愧,我这方面的经验有限,恐怕帮不了你什么忙

谦虚了。

#9


顶起来,求帮助

#1


先看服务端是如何接收,解码的

#2


java服务器收到后是GBK的,听说中间传输的时候是ISO-8859-1,所以VC先应该将xml编码为8859-1...不知道该怎么转。。。

#3


我用gsoap很渣,感觉甚至不如vc写dll,,C#写webservice,把传输的东西传送给c#,让C#去发送

#4


仔细想了想,感觉几个问题,服务端是什么系统?LINUX?
JAVA端接收中文乱码,亦即英文正常?会不会是他们那边的问题?让他们把接收到的流数据打印出来看看。
因为没接触过JAVA,以下这条若不对,谨当我放屁。试试看若你传输的时候是UTF8,JAVA端不管什么编码,以UTF8解析下看看是否正确。

这应该是跨语言两端对流的问题,可惜没做过,仅凭猜也不知道到底是语言还是平台还是编码的问题,找个有经验人士问问吧。

#5


引用 4 楼 xuddk727 的回复:
仔细想了想,感觉几个问题,服务端是什么系统?LINUX?
JAVA端接收中文乱码,亦即英文正常?会不会是他们那边的问题?让他们把接收到的流数据打印出来看看。
因为没接触过JAVA,以下这条若不对,谨当我放屁。试试看若你传输的时候是UTF8,JAVA端不管什么编码,以UTF8解析下看看是否正确。

这应该是跨语言两端对流的问题,可
惜没做过,仅凭猜也不知道到底是语言还是平台还是编码的问题,找个有经验人士问问吧。

多谢许大哥帮忙,服务器是linux的,tomacat

#6


会不会是发送过程中结构体对齐的问题?

#7


引用 5 楼 xiaoxiaoyu85 的回复:
Quote: 引用 4 楼 xuddk727 的回复:

仔细想了想,感觉几个问题,服务端是什么系统?LINUX?
JAVA端接收中文乱码,亦即英文正常?会不会是他们那边的问题?让他们把接收到的流数据打印出来看看。
因为没接触过JAVA,以下这条若不对,谨当我放屁。试试看若你传输的时候是UTF8,JAVA端不管什么编码,以UTF8解析下看看是否正确。

这应该是跨语言两端对流的问题,可
惜没做过,仅凭猜也不知道到底是语言还是平台还是编码的问题,找个有经验人士问问吧。

多谢许大哥帮忙,服务器是linux的,tomacat

惭愧,我这方面的经验有限,恐怕帮不了你什么忙

#8


引用 7 楼 xuddk727 的回复:
Quote: 引用 5 楼 xiaoxiaoyu85 的回复:

Quote: 引用 4 楼 xuddk727 的回复:

仔细想了想,感觉几个问题,服务端是什么系统?LINUX?
JAVA端接收中文乱码,亦即英文正常?会不会是他们那边的问题?让他们把接收到的流数据打印出来看看。
因为没接触过JAVA,以下这条若不对,谨当我放屁。试试看若你传输的时候是UTF8,JAVA端不管什么编码,以UTF8解析下看看是否正确。

这应该是跨语言两端对流的问题,可
惜没做过,仅凭猜也不知道到底是语言还是平台还是编码的问题,找个有经验人士问问吧。

多谢许大哥帮忙,服务器是linux的,tomacat

惭愧,我这方面的经验有限,恐怕帮不了你什么忙

谦虚了。

#9


顶起来,求帮助