Ошибки UTF8 в PHP Zend SOAP - PullRequest
       0

Ошибки UTF8 в PHP Zend SOAP

0 голосов
/ 24 августа 2011

Я программирую «SOAP-прокси», который подключается к SOAP-серверу (главному серверу) и сам является SOAP-сервером.Я также программирую одного клиента, который будет связываться с этим прокси-сервером SOAP.

Когда клиент SOAP вызывает определенный метод из прокси-сервера SOAP, я получаю эту ошибку:

SOAP-ERROR: Encoding: string 'Pir\xe4...' is not a valid utf-8 string 

Я не знаюна каком языке реализован главный сервер.Я работаю с PHP на прокси-сервере и в клиенте.Информация поступает с главного сервера и представляет собой сложный объект.

Я нашел решение этой проблемы.Добавив эту строку перед возвратом содержимого в Proxy Server, все в порядке:

$result = json_decode(utf8_encode(json_encode($result)));

Но я думаю, что это функция Quinte Ninja.Есть лучший способ?Кто-нибудь нашел такую ​​проблему в прошлом?Или чего-то не хватает в моей идее?

1 Ответ

0 голосов
/ 25 августа 2011

Я бы сказал, это нормально для кодирования возврата? Но более сексуально использовать методы Zend Framework для его кодирования:

// could be set in bootstrap
Zend_Json::$useBuiltinEncoderDecoder = true;

// should be correct utf8
$result = Zend_Json::encode($result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...