Следующая продемонстрирует ошибку:Param вызывает «не отображает в Unicode» ошибка в Catalyst
catalyst.pl Hello
cd Hello
echo "encoding utf8" >> hello.conf
script/hello_server.pl -r
Затем перейдите к http://localhost:3000/?q=P%E9rl
в вашем браузере и вы получите 400 Bad Request
.
Это, по-видимому, метод Catalyst _handle_param_unicode_decoding()
, который генерирует эту ошибку. Учитывая, что эта ошибка является тривиальной для генерации, она появляется в журналах ошибок, и Google не смог меня исправить эту ошибку. Я не могу запретить пользователям вводить такие строки запроса. Как я могу обойти это?
В UTF-8% -кодированные данные% E9 действительно недействительны (не являются действительными символьными данными или их началом), так что вы думаете, что * должно произойти? –