iconv проблемы при конвертации

ICONV (как нам известно) утилита – библиотека, переводящая файлы (или произвольный текст, строку) из одной кодировки в другую.

Iconv удобно использовать в PHP скриптах. Особенно когда Вы парсите (собираете, например с помощью Curl) данные с другого сайта, где кодировка отличается от кодировки в Вашем скрипте.

Так, чтобы перевести текст из кодировки utf (юникод) в кириллицу используется выражение:

$text = iconv("utf-8","cp1251",$text);

Иногда, впрочем, Вы можете заметить, что часть текста отсекается.
Это может происходить в том случае, если в тексте ($text) встретился нестандартный символ, выходящий за рамки кодировки (например символ ударения (  ́ )  – acute accent, HTML код – ́)
Чтобы исключить его и, всё равно, конвертировать весь текст в кириллицу, используется флаг //IGNORE

$text = iconv("utf-8","cp1251//IGNORE",$text);

Это решает проблему частичной конвертации текста из одной кодировки в другую.
Тот же //IGNORE можно применять к любой (ISO, KOI) выходной кодировке.

Опубликовано 20.05.2013 в 20:22 · Автор Вебдизайнеру, сисадмину, вебмастеру · Ссылка
Рубрики: PHP программирование · Теги: , , , , , , , , , , , , ,