У меня проблемы с PHP, чтобы хорошо играть с SoapServer + UTF-8. Каждый раз, когда кто-либо отправляет запрос на мыло с неанглийскими символами (т. Е. Забавные кавычки, акцентированные символы и т. Д.), SoapServer выдает исключение «Bad Request». Я пробовал декодировать запрос с помощью utf8_decode, и даже специальные символы HTML закодировали текст. Ничто не работает для меня.
Я ищу точку в правильном направлении, потому что я потерялся в данный момент.
убедитесь, что SoapServer и SoapClient инициализированы кодировкой UTF-8:
$client = new SoapClient("some.wsdl", array('encoding'=>'UTF-8')); $server = new SoapServer("some.wsdl", array('encoding'=>'UTF-8'));
делает XML запросов с «смешными кавычками, акцентированными символами и т. д.», проверки?
Очевидным следующим шагом будет проверка того, что полученный вами запрос фактически закодирован как UTF-8. Сетевой снифер, такой как WireShark (или даже небольшая работа с простым старым telnet-клиентом, может работать) позволит вам проверить точные данные, переданные на сервер. Просмотрите это и убедитесь, что он действительно действителен UTF-8.