Использование PHP SoapClient для отправки символа UTF-16 в службу WCF
Мое PHP-приложение принимает пользовательский ввод и отправляет его в веб-службу WCF. Иногда мои пользователи копируют и вставляют из Word и получают символы UTF-16 в свое сообщение, такое как "En Dash" \u2013
Я получаю следующую ошибку, когда это происходит.
Неустранимая ошибка PHP: SOAP-ERROR: Кодировка: строка '\xe2...' не является допустимой строкой utf-8 в *** в строке 31
Я попытался установить опцию кодирования конструктора SoapClient в 'UTF-16'. Кажется, мой запрос работает, но я замечаю, что кодировка заголовка xml по-прежнему установлена в UTF-8.
Есть идеи?
1 ответ
WCF работает только в UTF-8, а слово работает в UTF-16 по умолчанию, что объясняет, почему он выглядит как UTF8
Попробуйте использовать mbstring, чтобы исправить проблему