无法弄清楚如何让 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/