@teremok995

Как решить проблему с кодировкой?

Добрый день,
тут такая проблема - из файла, получаю строку вида:
Строка в формате CP1251
Њ®бЄў , Њ®бЄў , „¬Ёва®ўбЄЁ© Їа®Ґ§¤, 1Ѓ (¬. „¬Ёва®ўбЄ п)

Все онлайн-декодеры ее переводят, уточняя что она имеет кодировку CP1251. Но при попытке с помощью iconv преобразовать данную строку выходит только такая каша, а не читабельная строка:
Строка после использования iconv
Њ®бЄў , Њ®бЄў , „¬Ёва®ўбЄЁ© Їа®Ґ§¤, 1Ѓ (¬. „¬Ёва®ўбЄ п)

Делаю преобразование таким образом:
<?php
$str = "Њ®бЄў , Њ®бЄў , „¬Ёва®ўбЄЁ© Їа®Ґ§¤, 1Ѓ (¬. „¬Ёва®ўбЄ п)";
echo iconv("CP1251", "UTF-8", $str );
?>

А по хорошему должно получиться на выходе
Строка, которая получается на сайтах онлайн-декодера

Москва, Москва, Дмитровский проезд, 1Б (м. Дмитровская)

Пожалуйста подскажите, как сделать так, чтобы строка корректно отображалась.
  • Вопрос задан
  • 268 просмотров
Решения вопроса 1
megafax
@megafax
web-программист
Если делаете так - как написали выше
$str = "Њ®бЄў , Њ®бЄў , „¬Ёва®ўбЄЁ© Їа®Ґ§¤, 1Ѓ (¬. „¬Ёва®ўбЄ п)";
echo iconv("CP1251", "UTF-8", $str );
то нужно учитывать что именно этот файл у Вас в какой кодировке? чтобы не получилось двойного декодирования. Сохраните строку в отдельный файл именно с кодировкой 1251, потом считайте его содержимое по file_get_contents и уже потом делайте iconv.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

Похожие вопросы