@Vasiliy_M

Как преобразовать CP1252 в UTF-8 в PHP?

Столкнулся с проблемой. По сокетам получаю чудо-строку. На уровне PHP не могу её перекодировать!
<?php
$str = 'Çíà÷åíèå ADDRESS[0][48] íå íàéäåíî';

// mb_detect_encoding покажет UTF-8, но на деле строка в CP1252
echo mb_detect_encoding($str) . PHP_EOL;

// Пытаемся преобразовать хоть в какую кодировку:
echo mb_convert_encoding($str, 'CP1251') . PHP_EOL;
echo mb_convert_encoding($str, 'ASCII') . PHP_EOL;
echo mb_convert_encoding($str, 'UTF-8') . PHP_EOL;
// и прочие варианты тоже не работают

Декодер лебедева успешно эту строку декодирует в cp1251 и говорит о том, что это на самом деле строка в cp1252.
  • Вопрос задан
  • 2841 просмотр
Решения вопроса 1
p00h
@p00h
Фехтовальщик-стропальщик
$str = 'Çíà÷åíèå ADDRESS[0][48] íå íàéäåíî';
$str = iconv('utf-8', 'cp1252', $str);
echo iconv('cp1251', 'utf-8', $str);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы