Перекодировка текста 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