У меня есть сервлет, который получает некоторый параметр от клиента, а затем выполняет некоторую работу.И параметр от клиента - китайский, поэтому я часто получаю некоторые недопустимые символы в сервете.Например: если я введу
http://localhost:8080/Servlet?q=中文&type=test
Тогда в сервлете параметр 'type' является правильным (test), однако параметр 'q' не корректно кодируется, они становятся недопустимыми символами, которые могутне проанализирован.
Однако, если я снова войду в панель adderss, URL изменится на:
http://localhost:8080/Servlet?q=%D6%D0%CE%C4&type=test
Теперь мой сервлет получит правильный параметр 'q'.
В чем проблема?
UPDATE
Кстати, это хорошо, когда я отправляю форму с почтой.Когда я отправляю их в ajax, например:
url="http://..q='中文',
xmlhttp.open("POST",url,true);
Тогда на стороне сервера также появляются недопустимые символы.
Кажется, что только когда символы китайского языка кодируются как% xx, серверная сторона может получить правильный результат.
То есть http://.../q=中文
не работает, http://.../q=%D6%D0%CE%C4
работает.
Но почему "http://www.google.com.hk/search?hl=zh-CN&newwindow=1&safe=strict&q=%E4%B8%AD%E6%96%87&btnG=Google+%E6%90%9C%E7%B4%A2&aq=f&aqi=&aql=&oq=&gs_rfai=
" работает? ![alt text](https://i.stack.imgur.com/PKkIw.jpg)