最近公司的一个项目中遇到的问题。有一用php程序写的管理系统,需要在Android上实现其客户端。
1. 需要php端发布webservice。
2. 需要Android端读取数据,当然是通过webservice了。
?
发布webservice采用的是nusaop。读取采用的ksoap2-android。
?
具体代码就不贴出了。如有需要可回复索取。
?
普通测试通过,但测试中文的时候出现了乱码问题。经过几番查找资料,问题解决。
预想原因如下:
观察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,很不理解。
?
?