NuSOAP and content type

Can’t figure out how to make NuSOAP use UTF-8 for a content type. it keeps spitting out “ISO-8859-1”. here’s the relevant code bits that I’ve tried:


$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);
		}
	}

here’s the request:


POST xxxxxxxxxxxx HTTP/1.0
Host: xxxxxxxxxxxxx
User-Agent: NuSOAP/0.9.5 (1.123)
[B][COLOR="Red"]Content-Type: text/xml; charset=ISO-8859-1[/COLOR][/B]
SOAPAction: "xxxxxxxxxxxxxxxxx"
Content-Length: 1629

I’ve even gone into nusoap.php and changed a couple of lines that had the ISO hard-coded in. What am I missing?

Are the actual data in your $xmldata utf8_encode()'ed, or pulled from a database using that encoding?

Which charset does the WSDL use?

Have you tried using the built in PHP SoapClient? It is quite solid, so I have not had to use NuSOAP for a few years now. I’ve not had any charset issues with it either.

in answer to your questions: utf-8, utf-8, no

might have to look into the built-in one, didn’t realize it was there.

after working on this further, I’m still getting the same issue. I’ve added this:

$xmldata=utf8_encode($xmldata);

added this to the top of the script:

header('Content-Type: text/html; charset=utf-8');

set my php.ini:

default_charset = "utf-8"

and still it shows as 'charset=ISO-8859-1"! What next to do? :rolleyes: