Преобразование ASCII и UTF-8 в неспециальные символы с помощью одной функции

Итак, я создаю веб-сайт, который использует канал базы данных, который уже был настроен и использовался клиентом для всех их других веб-сайтов в течение некоторого времени.

Они заполняют эту базу данных через внешнюю программу, и у меня нет возможности изменить способ получения данных.

Теперь у меня возникла следующая проблема: иногда я получаю строки в UTF-8, а иногда в ASCII (надеюсь, я правильно понял эти термины, иногда они все еще немного расплывчаты для меня).

Итак, я мог получить либо это: Scénic или Scénic .

Теперь проблема в том, что мне нужно преобразовать это в не специальные символы (чтобы он стал Scenic ) для URL-адресов.

Я не думаю, что есть функция для преобразования é в e (если она есть), поэтому мне, вероятно, понадобится создать массив, содержащий все источник и назначение, но более серьезная проблема заключается в преобразовании é в é без нарушения é , когда это происходит через эту функцию.

Или я должен просто создать массив, содержащий все
(например, array ('é' => 'e', ​​'é' => 'e'); и т.п.

Я знаю, как получить é в é , выполнив utf8_encode (html_entity_decode ('é')) , но поставив é через эту же функцию вернет Ã © .

Может быть, я неправильно подхожу к этому, но в таком случае я хотел бы знать, как мне следует подойти к этому.

5
задан Kokos 23 September 2011 в 14:04
поделиться