Сначала я думал, что это проблема кодирования с вашей стороны, но если я скопирую + вставлю эти символы локально со страницы источника soundcloud:
ᴰᴶ Bagi
и попробуй их иконить, я получаю тот же результат, что и ты. Это означает, что данные имеют формат UTF-8, но iconv не распознает ᴰ
как «дочерний элемент» D
. Невозможно преобразовать символ, он жалуется (немного вводит в заблуждение ИМО) о недопустимом символе.
Редактировать: Это действительно так. Верхний индекс D не входит в диапазон Надстрочные и юникодные индексы , но это фонетический символ . Вероятно, поэтому они не могут быть сопоставлены с их «родительским» письмом. Здесь больше информации о ᴰ
Насколько я вижу, ваш единственный выбор - заменить символы вручную.
Самый примитивный пример замены -
str_replace("ᴰ", "D", $string);
(обратите внимание, что ваш исходный файл должен быть сохранен как UTF-8, чтобы это работало)
Для элегантного решения вы можете создать массив из исходных и замещающих символов и передать его в вызов str_replace
.
Или позвоните ди-джею Баги и скажите ему, чтобы он разобрался с чертовыми буквами. Вы заметите, что в построителе URL Soundcloud возникла точно такая же проблема.
soundcloud.com/bagi