Android读取php发布的webservice乱码有关问题解决

Android读取php发布的webservice乱码问题解决

最近公司的一个项目中遇到的问题。有一用php程序写的管理系统,需要在Android上实现其客户端。

1. 需要php端发布webservice。

2. 需要Android端读取数据,当然是通过webservice了。

 

发布webservice采用的是nusaop。读取采用的ksoap2-android。

 

具体代码就不贴出了。如有需要可回复索取。

 

普通测试通过,但测试中文的时候出现了乱码问题Android读取php发布的webservice乱码有关问题解决。经过几番查找资料,问题解决。

预想原因如下:

观察php发布webservice的xml文件,采用的ISO-8859-1。所以猜想其接受数据的编码为iso-8859-1.在php方法中拿到数据时,已经转换为UTF-8。但数据传输给调用webservice者时,再次转换为ISO-8859-1传输。

解决方法

在Android端往webservice中传值时编码转为iSO-8859-1.接受值时再次从ISO-8859-1转为UTF-8.这样问题就没有了。

 

但是不知道预想原因是否正确,如果正确,php发布的webservice的xml编码为什么采用ISO-859-1,很不理解。