Работа с UTF-8 в PHP
10 Авг 2007Не так давно в комментариях интересовались PHP-функциями для перекодировки в UTF-8 из других кодировок и наоборот. Выкладываю несколько скриптов, на основе которых, в принципе, можно собрать любую функцию для конвертации кодировок.
Напоминаю, что всё-таки это не самый прямой путь. Для начала попробуйте использовать Iconv, если он установлен на вашем сервере.
$title = iconv("ISO-8859-1","utf-8",$title); // из ISO в UTF.
detect_utf
Функция для обнаружения того, что строка закодирвана UTF-8 (бинарно). Возвращает true если UTF-8 или false если ASCII.
unicod
Функция для перекодирования строки CP1251 в UNICODE. Для экономии размера заменяет одинаковые по начертанию символы кириллицы на символы латиницы (чтобы сэкономить — вместо «&x0430» («а» рус.) рисует «a» («a» eng.))
win_utf8
Перекодировка win1251 -> unicode (UTF-8)
То же самое, только без экономии места.
utf8_win
Функция для перекодировки unicode UTF-8 -> win1251.
utf8win
Конвертация строки в Win-1251, если она закодирвана UTF. Например — (&[#]x041C;&[#]x0435;&[#]x043B;) . Иногда ошибается. Кавычки — чтобы WP не дешифровал.
utf16win
Конвертация строки в Win-1251,если она закодирвана UTF. Например — (%u041C%u0435%u043B). Иногда ошибается.
win2utf
Конвертирует Win1251 -> unicode (не UTF-8).
Хорошая подборка! Очень часто требуется…
Да-да. Замечательно! Бывают ступоры по поводу перевода из одной кодировки в другую.
Очень полезно! Спасибо.
Спасибо :-)
Бывают. Кстати, иногда проще взять Notepad++ и поколдовать с ним на готовом тексте, а потом уже засунуть его в скрипт или в базу — на порядок проще выходит =)
Радстараццо ;-)
Scite предпочитаю. А вообще это не суть важно — чаще действительно легче воспользоваться софтом, нежели проводить динамические преобразования кодировок.
В точку ;-)
Одна из самых полезных функций отсутствует напроч. Я говорю, про wordwrap для utf, к сожалению всё известные мне функции работают плохо.
Да, кстати! Еще Юлик очень много писал о PHP и UTF-8. Когда-то мне его материалы очень помогли. Смотрите его статью «Unicode и PHP«.
Толково, весьма. Спасибо!
Весьма полезная подборочка.
Я пользуюсь iconv, сейчас он стоит почти на всех хостингах
Супер подборка :) ! В закладки по любому :) !
зачёт!!!
реально помогло.
Спасибо за подборку. Выручила
огромное спасибо!!! я пару дней мудохался с этим UTF’ом!
Спасибо большое.. и правда.. очень полезно.. две функции мне уже помогли..:)
А что делать с кавычками, если использую функцию utf8_win? У меня с кавычками проблема, т.е. например «Стрелы Ориона» превращается в [Стрелы Орионаk. Я вынужден динамически конверитровать, поскольку информацию динамически загружаю с XML. Помогите разобратся к кавычками. Заранее спасибо.
[…] Частично помогали скрипты Жилинского, они преобразовывали кодировку и на сайте этот текст был читаем… […]