Перекодировка текста UTF-8 и WINDOWS-1251 на PHP
windows-1251 в UTF-8
$text = iconv('windows-1251//IGNORE', 'UTF-8//IGNORE', $text);
echo $text;
$text = mb_convert_encoding($text, 'UTF-8', 'windows-1251');
echo $text;
UTF-8 в windows-1251
$text = iconv('utf-8//IGNORE', 'windows-1251//IGNORE', $text);
echo $text;
$text = mb_convert_encoding($text, 'windows-1251', 'utf-8');
echo $text;
Ещё бывают случаи когда file_get_contents или CURL возвращают иероглифы (ÐлмазнÑе боÑÑ) – причина тут не в кодировке, а в отсутствии BOM-метки.
$text = file_get_contents('https://example.com');
$text = "\xEF\xBB\xBF" . $text;
echo $text;
Источник: https://snipp.ru/php/iconv-utf-8