|
|
|
Apache, Tomcat, GET запросы и кодировка.
|
|||
|---|---|---|---|
|
#18+
Использую везде кодировку Cp1251 Настройки томката: Код: plaintext Код: plaintext Код: plaintext Код: plaintext При гет запросе томкату типа: http://host:8180/webapp/test.jsp?test=%EA Все работает. При запросе апачу: http://host/webapp/test.jsp?test=%EA не работает(получаю вопросик). Как разрулить описанными выше настройками + настройки апача, чтобы работало и так и так. В принципе можно переписать все ссылки на http://host:8180/webapp/test.jsp?test=%EA либо использовать mod_rewrite, но как-то не красиво получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2006, 21:21 |
|
||
|
Apache, Tomcat, GET запросы и кодировка.
|
|||
|---|---|---|---|
|
#18+
useBodyEncodingForURI="true" ? just another freak in the Freak Kingdom ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2006, 01:48 |
|
||
|
Apache, Tomcat, GET запросы и кодировка.
|
|||
|---|---|---|---|
|
#18+
котыuseBodyEncodingForURI="true" ? just another freak in the Freak Kingdom не. так тоже не работает. Вот так работает: Код: plaintext Может кто-нибудь объяснить почему так происходит? В случае томката без апача, работает: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2006, 07:07 |
|
||
|
Apache, Tomcat, GET запросы и кодировка.
|
|||
|---|---|---|---|
|
#18+
Ну так вы с самим Apache HTTP разберитесь. И, кстати, опишите, каким образом выполняется передача запросов Томкату - mod_jk или что другое?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2006, 07:30 |
|
||
|
Apache, Tomcat, GET запросы и кодировка.
|
|||
|---|---|---|---|
|
#18+
М.ГоловановНу так вы с самим Apache HTTP разберитесь. И, кстати, опишите, каким образом выполняется передача запросов Томкату - mod_jk или что другое?... Да, mod_jk передает запросы томкату. У конектора jk2 томката стоит URIEncoding="Cp1251" это означает, что урл: ....test.jsp?test=%EA будет декодирован в соответствии с Cp1251 Видимо, этот же урл Apache HTTP декодирует в соответствии с ISO8859_1 (т.е здесь получаем ?) а потом уже вопросик перенаправляет томкату с помощью mod_jk Решением вижу настройку типа URIEncoding="Cp1251" в Apache HTTP, но похоже там жестко прошита ISO8859_1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2006, 07:57 |
|
||
|
Apache, Tomcat, GET запросы и кодировка.
|
|||
|---|---|---|---|
|
#18+
При использовании mod_jk Apache ничего не декодирует, он передает "сырой" запрос модулю, а тот его перенапрвляет в Tomcat, где собственно и начинаются чудеса с кодировками. В настройках виртуального сайта или директории Apache можно указать кодировку "по умолчанию" директивой AddDefaultCharset, но это настройка для ответа! Попробуйте добавить в JSP: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2006, 15:25 |
|
||
|
Apache, Tomcat, GET запросы и кодировка.
|
|||
|---|---|---|---|
|
#18+
KachalovПри использовании mod_jk Apache ничего не декодирует, он передает "сырой" запрос модулю, а тот его перенапрвляет в Tomcat, где собственно и начинаются чудеса с кодировками. В настройках виртуального сайта или директории Apache можно указать кодировку "по умолчанию" директивой AddDefaultCharset, но это настройка для ответа! Попробуйте добавить в JSP: Код: plaintext 1. Шаманство.. не помогло. что происходит, когда я вызываю метод request.getParameter("test") ? Если сделать так: <%=new String(test.getBytes(),"Cp1251")%> все работает. Вот тестовая страничка: <%@ page contentType="text/html; charset=windows-1251"%> <%@ page pageEncoding="windows-1251" %> <html> <head> <meta content="text/html; charset=windows-1251" http-equiv=Content-Type> <link rel="stylesheet" type="text/css" href="/do.css"> </head> <body> Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Результат: Cp1251 ? к у меня все параметры в Spring MVC биндятся с помощью request.getParametersMap() Если не найду, как там настроить их перелавливатель таким способом: <%=new String(test.getBytes(),"Cp1251")%> буду писать свой биндер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2006, 16:02 |
|
||
|
Apache, Tomcat, GET запросы и кодировка.
|
|||
|---|---|---|---|
|
#18+
Alexey TurnФильтр: Код: plaintext Код: plaintext <filter-mapping> в студию. На что этот фильтр мапится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2006, 22:31 |
|
||
|
Apache, Tomcat, GET запросы и кодировка.
|
|||
|---|---|---|---|
|
#18+
На все мапится:) <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> Так и не смог ничего придумать. Написал не большой ребиндинг: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. Понимаю, что кривовасто, но подругому работает только с томкатом через порт 8180. Здесь фильтры проставляют: ---------------------------------HTML ------------WML------ Для GET запроса:---ISO-8859-1-----ISO-8859-1--- Для POST запроса:--Cp1251---------UTF-8-------- characterEncoding:--Cp1251----------UTF8; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2006, 08:18 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33718189&tid=2149316]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
183ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 448ms |

| 0 / 0 |
