| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Как обрабатывать параметры в юникоде |
| Автор: AngerOgAnAngel 8.3.2006, 00:28 |
| например в томкэте 4.1 помогало этому(см сабж) request.setCharacterEncoding("utf-8"); Здесь тот же код приводит к тому, что request.getCharacterEncoding() == null; И к тому же какой бы я ее не менял результат не меняется(например, вывод строки, переданной параметрами, на экран). Есть ли какие нить обходные пути? как работать с кодировками ? Как правильно распарсить параметры? jboss 4.0.3 имеет встроенный томкэт, поэтому такая разница, вообще говоря, удивляет. |
| Автор: tux 8.3.2006, 16:40 |
| А где вызывается request.setCharacterEncoding("utf-8")? Дело в том, что этот вызов должен быть выполнен до первого обращения к объекту типа HttpServletRequest и логичнее всего выполнять это в фильтре до, собственно, обработки запроса. Если метод вызывается не в фильтре, посмотри здесь как это сделать http://forum.vingrad.ru/index.php?showtopic=66203&view=findpost&p=530693. Теоретически все должно работать. Что касается request.getCharacterEncoding() == null. Некоторые веб-контейнеры (возможно и Tomcat) возвращают кодировку только в том случае, если она задана в запросе, который приходит от клиента. При этом некоторые клиенты ее никогда не посылают. Насчет перечня таких клиентов не уверен, точно встречалось у старых версий Mozilla. |