У меня есть сервер PHP SOAP (с использованием nuSOAP), который я использую с приложением на C #.
Когда приложение C # отправляет запрос, строки кодируются в кодировке UTF-8. Я проверил, используя сетевой анализатор, что байтовые последовательности являются действительными UTF-8. Однако, когда PHP получает их, и я отправляю их в базу данных или отправляю по электронной почте, кажется, что они напечатаны как стандартный ASCII, байты кодировки UTF обрабатываются как символы.
У меня та же проблема с приложением C #, получающим UTF-8 от сервера SOAP. .NET интерпретирует каждый байт как CHAR вместо BYTE. Мне пришлось написать небольшую функцию, которая преобразует каждый символ CHAR в байт, а затем преобразует его в строку UTF-8, и это прекрасно работает.
Вопрос в том, что мне нужно сделать на стороне сервера PHP для правильной обработки входящих SOAP-запросов как UTF-8 для MySQL и функции mail()
? Я пробовал utf8_encode()
и utf8_decode()
, но они портят нить еще хуже.