无法弄清楚如何让 NuSOAP 将 UTF-8 用于内容类型。它不断吐出“ISO-8859-1”。这是我尝试过的相关代码位:

$soapclient=new soapclient($url1,'wsdl');
$soapclient->http_encoding='utf-8';
$soapclient->defencoding='utf-8';

if($soapclient->fault){
    $retdata=$soapclient->fault;
}else{
    if($soapclient->getError()){
        $retdata=$soapclient->getError();
    }else{
                    $params=array($xmldata);
                    $retdata=$soapclient->call($doit,$params,$url1,$url2);
    }
}

这是请求:
POST xxxxxxxxxxxx HTTP/1.0
Host: xxxxxxxxxxxxx
User-Agent: NuSOAP/0.9.5 (1.123)
Content-Type: text/xml; charset=ISO-8859-1
SOAPAction: "xxxxxxxxxxxxxxxxx"
Content-Length: 1629

我什至进入 nusoap.php 并更改了几行硬编码 ISO 的行。我错过了什么?

最佳答案

尝试:

$soapClient->soap_defencoding = 'UTF-8';
$soapClient->decode_utf8 = false;

还要确保您发送的是 utf8 编码数据,否则有点矛盾。 (utf8_encode())。

关于php - NuSOAP 和内容类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5317858/

10-09 18:14