[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: iconv и невалидные символы
Белый Тигр
Здравствуйте. Перегоняю скриптом некоторый русский текст в UTF-8 из CP1251. Иногда выскакивают ошибки типа "Illegal character". Суть ошибок понятна - встретился какой-то символ которого в UTF-8 просто нет. Проблема в следующем. iconv(), когда встречает такой символ, попросту возвращает всё что удалось перекодировать до него. То есть она может вернуть треть строки например. Можно ли как-то сделать так, чтоб возвращалась вся строка кроме проблемных символов? Или хотя бы как-то проверить, есть ли в строке символы которые могут создать проблемы.
P.S. Заметил интересную вещь - в разных случаях iconv() жалуется на разные буквы. При этом в остальных строках эти же буквы перегоняются нормально. Кто-нибудь знает от чего это зависит?



Спустя 6 минут, 23 секунды (21.11.2010 - 13:44) twin написал(а):
В utf есть даже псменность майя. Подозреваю, что ошибка как раз с другой стороны.

Спустя 1 час, 55 минут, 55 секунд (21.11.2010 - 15:40) Nikitian написал(а):

iconv("cp1251", "utf-8//IGNORE", $text);
//или
iconv("cp1251", "utf-8//TRANSLIT", $text);

Спустя 38 минут, 39 секунд (21.11.2010 - 16:18) FatCat написал(а):
Цитата (twin @ 21.11.2010 - 14:44)
В utf есть даже псменность майя. Подозреваю, что ошибка как раз с другой стороны.

wordstat.yandex.ru - не копался в чем загвоздка, но айконверт отрезает правую колонку результатов при перекодировке в винкириллицу.
Мне приходится распарсивать по тегам в юникоде, и потом уже в цикле айконвертить.

Спустя 1 час, 42 минуты, 34 секунды (21.11.2010 - 18:01) Белый Тигр написал(а):
Nikitian, большое спасибо smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.