У меня проблема с кодировкой в моих сервлетах.Настройка кодировки для параметров запроса декодирования в WebLogic
Звоню сервлет, как это:
http://myserver.com/myapp/myservlet?p=%d6
%d6
это закодированное значение для Ö
.
В моем сервлета я сделать следующее:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String s = request.getCharacterEncoding(); // Returns null
//request.setCharacterEncoding("ISO-8859-1"); // If I uncomment this line, p will be Ö.
String p = request.getParameter("p"); // Returns ý
...
Я хочу, чтобы установить кодировку с помощью конфигурации, а не с помощью кода.
Я попробовал следующее weblogic.xml
, но это не имело никакого эффекта в этом случае:
<charset-params>
<input-charset>
<resource-path>*</resource-path>
<java-charset-name>ISO-8859-1</java-charset-name>
</input-charset>
</charset-params>
Как настроить WebLogic использовать кодировку ISO-8859-1
для request.getParameter
?
Была такая же проблема, и этот ответ прибил ее. Любопытно, что параметр '' to 'ISO8859_1' в' 'в [weblogic-application.xml] (http://docs.oracle.com/middleware/1213/wls/ WLPRG/app_xml.htm # r6c1-t2) не работал, даже устанавливая '' на 'false'. Какой-нибудь намек почему? –