Вобщем есть CGI на апаче, пользователь заполняет форму и ее поля передаются в скрипт на Perl. Там разбирается по параметрам и обрабатывается. Пока значения на чистом английском, и без всяких ":" и "\" то все нормально. Но когда приходится вводить кирилицу то приходят параметры типа:
username=grub&newsname=grub&newsaddr=http%3A%2F%2Fwww.srv&newstext=%E9%F6%F3%EA%E5%ED
Я смутно помню что читал про такое представление. Догадываюсь, что в последствии придется использовать Text::iconv (поскольку есть пользователи b Win и Linux, соответственно в строке может быть и 1251 и koi8 и utf8), но как из этих %E9%F6%F3%EA%E5%ED получить исходную строку в 1251, koi8 или utf8 так как ее вводил юзер?
Для справки %E9%F6%F3%EA%E5%ED равно йцукен из винды...
Perl и кодировка входных параметров (что делать с значениями типа %E9%F6%F3%EA%E5%ED?)
Модераторы: SLEDopit, Модераторы разделов
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: Perl и кодировка входных параметров
есть нужные функции и в модуле URI::Escape, и в Apache::Util, и, скорее всего, еще в нескольких местах.
http://www.google.com/linux?hl=en&q=pe...de+OR+escape%29
http://www.google.com/linux?hl=en&q=pe...de+OR+escape%29
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог