繁体   English   中英

Zend Soap 服务器返回 UTF-8 错误

[英]Zend Soap Server return an UTF-8 error

我正在使用带有自动发现功能的 Zend Soap 服务器,这是我的代码:

    $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-ERROR: Encoding: string '00127920110531 xxx zzz Dom 67 av Ren\xe9...' 不是有效的 utf-8 字符串

“\xe9”是一个“é”...源表在 UTF-8

如果我改变

      $server->setEncoding('UTF-8'); 

      $server->setEncoding('ISO-8859-1')

我没有收到错误,但没有正确解析字符串,有奇怪的字符......

任何想法?

这不是您的服务器的问题,这是您的客户端的问题。

您的客户正在提交一个ISO-8859-1字符串,您可以在提交之前尝试utf8_encode()数据。

如果在客户端和服务器都使用相同的编码时您仍然看到奇怪的字符,那么您可能有一个源字符串混合了几种编码。 它是从单一来源构建的吗? 它是否在某处正确显示?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM