Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

проблема такая:

Отправляю три сообщения (цифры, латиница, русский) с разных клиентов:

текст 1: 12345

текст 2: qwerty

текст 3: фывапр

То что приходит записываю в txt файл (полученное значение пишу в звездочках без пробелов, чтоб было видно начало и конец строки):

а) пишу напрямую в файл:

Первый клиент:

* 1 2 3 4 5*

* q w e r t y*

*DK20?@*

Второй клиент:

*12345*

*qwerty*

*DK20?@*

Как видим, первый клиент принимает весь текст не верно, а второй клиент понял все верно кроме русского текста.

б) пишу в файл, но перед записью делаю: mb_convert_encoding($get_text, 'cp1251', 'UTF-16');

Первый клиент:

*12345*

*qwerty*

*фывапр*

Второй клиент:

*??*

*???*

*фывапр*

Тут ситуация обратная, первый клиент понял все как надо, а второй понял только русский текст, но угробил латиницу и цифры.

---------------------

Нужна функция которая будет определять кодировку на входе, ну и делать уже mb_convert_encoding() там где нужно.

p.s. Пробовал делать mb_detect_encoding(), но она везде возвращает один и тот же ответ, работает не корректно.

Возможно нужен другой подход, но это уже все в личке.

9 лет назад
unviz
36 летРоссия
12 лет в сервисе
Был
4 месяца назад