Декодировать строку ISO-8859-1 в UTF-8
Есть $string которая содержит внутри:
Âàëåðèé Ìåëàäçå Îêåàí È Òðè Ðåêè (Feat. Âèà Ãðà)
Несмог декодировать её в UTF-8 , чтобы было читабельно.
Нагуглил сайт, онлайн декодер. Он переводит нормально. Получается результат:
Валерий Меладзе Океан И Три Реки (Feat. Виа Гра)
Декодер на сайте также указывает кодировки, которые применялись для выполнения.
ISO-8859-1 => Windows-1251
Пробывал все возможные варианты:
iconv ('ISO-8859-1', 'UTF-8', $string);
iconv ('ISO-8859-1', 'Windows-1251', $string);
iconv ('Windows-1251', 'UTF-8', $string);
также пробывал utf8_encode() функцию.. Безрезультатно. Надеюсь на вашу помощь.
Ответы (1 шт):
Как-бы Iconv и utf8_encode уже морально устарели.
Активный способ использовать mb_convert_encoding : https://www.php.net/manual/ru/function.mb-convert-encoding.php
Вообще очень советую изучить документацию на multybyte strings.
Для правельной конверсии надо пройти : CP1251 -> UTF8
ISO-8859-1 и CP1251 однобайтовые кодировки, изначально читай как CP1251.