Zend Soap Server возвращает ошибку UTF-8 - PullRequest
0 голосов
/ 10 июня 2011

Я использую Zend Soap Server с автообнаружением, это мой код:

    $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: Кодировка: строка '00127920110531 xxx zzz Dom 67 av Ren \ xe9 ...' не является допустимой строкой utf-8

"\ xe9" является "é" ...исходная таблица находится в UTF-8

, если я изменяю

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

в

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

Я не получаю сообщение об ошибке, но строки не правильно проанализированыЕсть странные символы ...

Есть идеи?

1 Ответ

1 голос
/ 10 июня 2011

Это не проблема вашего сервера, это проблема вашего клиента.

Ваш клиент отправляет строку ISO-8859-1, вы можете попробовать utf8_encode() данные до их отправки.

Если вы по-прежнему видите странные символы, когда и клиент, и сервер используют одну и ту же кодировку, возможно, исходная строка смешивает несколько кодировок.Это построено из одного источника?Правильно ли оно где-то отображается?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...