LINUX.ORG.RU

Проблемка с русскими буквами в запросах к apache


0

0

Hi! Как известно все непечатаемые (по мнению браузеров) символы, в т.ч. и русские буквы в запросах к http серверу переводятся к виду %xx%yy%zz. Как бы средствами перла перевести такие строки к нормальному виду (т.е. в кодировку koi) ??

anonymous

Следующие соображения:

1. Парсить данные посылки форм умеют многие модули Perl. Самый известный -- CGI.pm, входит в стандартную поставку Perl 5. Он переводит все коды типа %xx (т.н. url-encoded) в восьмиразрядные символы.

2. Клиент (браузер) посылает запрос в своей (клиентской) кодировке. Чтобы поддерживать множество кодировок для клиентов в скрипте, который весь HTML выводит (и все формы принимает) в одной кодировке, существует Русский Апач http://apache.lexa.ru/.

3. Если вы не хотите (не можете) использовать РА, но хотите поддерживать несколько клиентских кодировок, то пути два:

  • написать по скрипту на каждую кодировку (криво)
  • добавить в скрипт функции перекодирования (муторно)

    iliyap ★★★★★
    ()
  • Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.