Здравствуйте, получаю данные от SOAP сервиса. Английские буквы отображаются нормально. Русские - знаками вопроса(????????? ????? ????) Пытался исправить так: PHP: $Description=mb_convert_encoding($item->description, "UTF-8"); но это не работает. Есть подозрение что символы возращаются не в UTF-8. Потому как другие данные на русском, полученные не от SOAP отлично отображаются. Как это можно исправить?
@MouseZver, вы про это? mb_internal_encoding("UTF-8"); Если да, то все равно знаки вопросов остались. --- Добавлено --- у меня apache tomcat
нет, спросил про кодировку скрипта.пхп а у меня Ауди q7 --- Добавлено --- в лучшем случае пришлите ссылку на скачивание скрипта, если не понимаете о чем речь
@MouseZver, нет у меня нет этого файла. Я читал что он не работает в Apache Tomcat, но могу ошибаться
еще одна полезная функция, если ничего не поможет https://php.net/manual/ru/function.iconv.php --- Добавлено --- попробуй создай в корневом каталоге сайта, и внутри --- Добавлено --- а вот еще нашел для вашей проблемы http://yan.zlobin.name/86
Попробовал. .htaccess не работает. iconv тоже не дал результатов. Статья тоже не помогла. В любом случае, спасибо.
Сохраните полученные текстовые данные "как есть" в файл. И попробуйте определить кодировку любым из способов (ну или сюда файл выложите). Если уж в документации ничего по этому поводу не написано...
@Sail, прикрепил файл с ответом от SOAP метода. Ответ приходит в виде "OTCHET/?????/12345", а должно быть "OTCHET/ОТЧЕТ/12345"
Суть проблемы такова, что внутренняя кодировка Tomcat умолчанию - ISO-8859-1. То есть, текст, переданный из формы (неважно методом post или get) будет автоматически неявно перекодирован в ISO-8859-1 и окажется нечитаемым. PHP: echo iconv ( 'UTF-8', 'ISO-8859-1', $a );
@MouseZver, спасибо за совет, я пробовал это вчера после прочтения статьи, ссылку на которую вы оставляли выше, но это не помагает. Приведу пример: 1. PHP: echo $repName=$item->name; Результат: OTCHET/?????/12345 2. PHP: echo iconv ( 'UTF-8', 'ISO-8859-1', $repName=$item->name ); Результат такой же.