Решить проблему с кодировкой
проблема такая:
Отправляю три сообщения (цифры, латиница, русский) с разных клиентов:
текст 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(), но она везде возвращает один и тот же ответ, работает не корректно.
Возможно нужен другой подход, но это уже все в личке.