研究nusoap源码后发现,当 xml_encoding 设置为 UTF-8 时,NuSOAP 会检测 decode_utf8 的设置,如果为 true ,会执行 PHP 里面的 utf8_decode 函数,而 NuSOAP 默认为 true
因此需如下设置
$client->decode_utf8 = false;
还需如下设置
$client->soap_defencoding = ’utf-8′; // 以utf8编码开发
$client->xml_encoding = ’utf-8′; // xml 以utf8编码方式传递