我使用的是自動發現Zend的Soap服務器,這是我的代碼:Zend的Soap服務器返回一個UTF-8的錯誤
$wsdl = new Zend_Soap_Autodiscover();
$wsdl->setClass('SoapParser');
if (isset($_GET['wsdl'])) {
$wsdl->handle();
} else {
$server = new Zend_Soap_Server('http://zzz.zz.zz/store.php?wsdl');
$server->setClass('SoapParser');
$server->setEncoding('UTF-8');
$server->setObject(new SoapParser());
$server->handle();
}
當我調用通過SOAP客戶端的一些方法,我收到此錯誤:
SOAP-ENV:ServerSOAP-錯誤:編碼:字符串 '00127920110531 XXX ZZZ大教堂67 AV仁\ xe9 ......' 不是一個合法的UTF-8字符串
的 「\ xe9」 是 「é」 ...源表是UTF-8
如果我改變
$server->setEncoding('UTF-8');
在
$server->setEncoding('ISO-8859-1')
我沒有收到錯誤,但字符串不正確地分析,有似有字符...
任何想法?
'0xe9'是'ISO-8859-1'中的'',而不是'UTF-8'。 – Benjamin 2011-06-10 09:13:16