• Mojo* А кто нибудь сталкивался с проблеммой парсинга URL с русскими буквами

Replies (8)

  • @asda, Тут могут быть несколько проблем: кодировки, броузер и т.п. Что именно?
  • @vti, Вот мой пример
    192.168.1.98 — IE работает
    192.168.1.98 -IE не работает (404)
    192.168.1.98 — FF (The page you were requesting "/author/%d0%9a%d1%83%d1%80%d0%b1%d0%b0%d1%82%d0%be%d0%b2%20%d0%92.%d0%98." could not be found. )
  • @asda, Вроде Толя Шарифулин этот баг уже сообщал. Надо у Риделя спросить :)
  • @vti, Понятно значит Толик не забыл, тогда вопрос снят.
    Может просто перекодировать строку url перед парсингом, как временное решение вот только в каком месте это делать ?
    Самое главное на части то он её правильно разбирает
    'path' => bless( {
    'parts' => [
    'author',
    '%d0%9a%d1%83%d1%80%d0%b1%d0%b0%d1%82%d0%be%d0%b2%20%d0%92.%d0%98.'
    ],
  • @asda, Проблема скорее всего в точках, потому что точки воспринимаются Mojolicious по-особенному. Для игнорирования точек нужно использовать '/foo/(.name)' вместо '/foo/:name'.
  • @asda, точно помогло... где такое написано, почему я все это пропустил что еще почитать.
    И еще вопросик как просто строку get запроса получить в апликации то что в cgi ENV QUERY было
  • @asda, Она парсится, я не уверен, что ее можно получить в изначальной форме. Есть метод ->env, но я его не использовал.
  • @vti, Нашел $self->tx->req->url->query->to_string (ну и производные от него типа param и прочего)