Клиент Zend_Soap и проблема с кодировкой SoapServer UTF-8 - PullRequest
1 голос
/ 01 марта 2011

Сайт работает на одном сервере и БД на другом сервере.Когда я ввожу текст на сайте для отправки в БД на неанглийских буквах, он сохраняет и отображает ядро.Например, если я введу « Привет Всем », при отображении на экране будет отображаться тот же текст.

Все параметры сортировки MySQL в виде таблицы в виде полей utf8_general_ci Мета-кодирование содержимого на странице такжеutf-8 как на сайте, так и на phpMyAdmin

Хотя, если я захожу в БД с помощью phpMyAdmin, я вижу, что если я изменю его на Привет Всем, то на сайте, который я вижу????????????

Это не сработало в нашем локальном тесте на 2 разных серверах с Windows на них.Но после развертывания на онлайн-сервере centOS он работает примерно так:

Похоже, что это двойное кодирование текста в UTF-8.Я не могу найти, где это.

Zend_Soap_Client :: или SoapServer :: или кодировка MySQL.

Я отклонил идею Mysql, потому что я думал, что если это MySQl, то он сохраняет неправильно, а затемкогда он извлекает, он должен отправлять неверные данные.

1 Ответ

0 голосов
/ 01 марта 2011

Возможно, вам следует попробовать настроить Zend_Soap_Client или SoapServer для использования utf8 ?В случае Zend_Soap_Client это можно сделать так:

$client = new Zend_Soap_Client("http://my.site/my.wsdl", array('encoding' => 'UTF-8'));
...