| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Регулярные выражения > Regexp и UTF8 |
| Автор: Error202 18.5.2011, 14:18 | ||
| Скрипт в UTF-8 Выводит форму... далее проверяет введенное по шаблону
Ввожу форму: "привет" Скрипт ругается, что введенное не соответствует шаблону... В чем может быть проблема? P.S. Входящая строка из формы тоже в UTF-8 P.S.2 JavaScript на форме не ругается при проверке введенного значения |
| Автор: Pfailed 18.5.2011, 15:36 |
| Строка в скрипт приходит с поднятым utf флагом? |
| Автор: Error202 18.5.2011, 15:40 |
| Что за флаг? |
| Автор: Pfailed 18.5.2011, 15:45 |
| perldoc utf8 utf8::is_utf8 utf8::upgrade |
| Автор: Error202 18.5.2011, 16:12 | ||
Ставлю
и после отправки страницу "выворачивает" неизвестной мне кодировкой... При этом просто форма нормально отображается... Если ставлю use utf8; то после отправки все ок, но сама форма "выворачивается"... |
| Автор: Pfailed 18.5.2011, 16:16 |
| Для начала смотрим что возвращает utf8::is_utf8 на пришедшую строку. Если ложное значение, то делаем на строке utf8::upgrade. |
| Автор: Error202 18.5.2011, 16:28 |
| utf8::is_utf8 - ложное значение (непонятно только почему) после utf8::upgrade - никаких изменений :( Lingua::DetectCharset показывает, что введенные данные в UTF8 |
| Автор: Pfailed 18.5.2011, 17:00 | ||
| С utf8::upgrade ошибся, нужен utf8::decode. Помимо этого регулярное выражение тоже нужно "заутээфить" Вот пример, до utf8::decode нет совпадения, после есть.
|
| Автор: Error202 19.5.2011, 09:01 |
| Спасибо! Разобрался |