Перекодировка текста в UTF-8 и WINDOWS-1251

Проблема кодировок часто возникает при написании парсеров, чтении данных из xml и CSV файлов. Ниже представлены способы эту проблему решить.

1

windows-1251 в UTF-8

$text = iconv('windows-1251//IGNORE', 'UTF-8//IGNORE', $text);
PHP
$text = mb_convert_encoding($text, 'UTF-8', 'windows-1251');
PHP
2

UTF-8 в windows-1251

$text = iconv('utf-8//IGNORE', 'windows-1251//IGNORE', $text);
PHP
$text = mb_convert_encoding($text, 'windows-1251', 'utf-8');
PHP
3

Когда ни что не помогает

$text = iconv('utf-8//IGNORE', 'cp1252//IGNORE', $text);
$text = iconv('cp1251//IGNORE', 'utf-8//IGNORE', $text);
PHP

Иногда доходит до бреда, но работает:

$text = iconv('utf-8//IGNORE', 'windows-1251//IGNORE', $text);
$text = iconv('windows-1251//IGNORE', 'utf-8//IGNORE', $text);
PHP
12.01.2017, обновлено 27.08.2019 4219

Поделится

Другие публикации

При вёрстки сайта «сброс стилей» помогает и уменьшает объем кода, но когда дело доходит до оформления текстов...
Функция serialize() возвращает строковое представление любого значения (массив, объект и.т.д.). Использование serialize...
В статье представлены различные PHP расширения для чтения файлов XLS, XLSX. Описаны их плюсы и минусы, а также примеры...
Ниже приведён список MIME-заголовков и расширений файлов. В PHP скриптах, перед отправкой файлов в браузер,...