php調(diào)用webservice亂碼的解決辦法:首先打開“nusoap.php”文件;然后修改內(nèi)容為“var $soap_defencoding = 'UTF-8';”;最后在調(diào)用時指定編碼即可。
推薦:《PHP視頻教程》
webservice中有中文的話,返回的值就變成了亂碼.查看了一下response的結(jié)果,是正確的.應(yīng)該是用nusoap處理的時候出現(xiàn)了問題.
更改了nusoap.php兩個地方就OK了.
更改的地方:
86行的:var $soap_defencoding = 'UTF-8'; 4998行的:var $decode_utf8 = false;
不更改也可以,不過在調(diào)用的時候就必須指定編碼.
1.服務(wù)器端接口
$server=new soap_server(); //生成對象 $server->soap_defencoding = 'utf-8'; $server->decode_utf8 = false;
2.調(diào)用用接口
$client = new soapclient('http://localhost/TestService/Service1.asmx?WSDL', true); $client->soap_defencoding = 'UTF-8'; $client->decode_utf8 = false;