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

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

Войти через центр авторизации
Похожие вопросы
RecruitIT Москва
от 100 000 до 160 000 ₽
от 130 000 до 180 000 ₽
Сбер Москва
До 240 000 ₽