| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > doGet и русские символы |
| Автор: _Flint_ 13.2.2007, 14:43 | ||||
У меня есть JavaScript код на странице:
При передаче русских символов, в параметре fam содержится строка следующего вида: %D0%A8%D0%B0%D0%BC%D1% Сервлет получает этот запрос и обрабатывает его следующим методом:
Однако я не могу таким образом сравнить строки, ибо в переменной fio содержатся кодированные символы. Каким образом я могу декодировать символы в удобочитаемую строку? |
| Автор: tux 13.2.2007, 14:51 |
| http://java.sun.com/j2se/1.5.0/docs/api/java/net/URLDecoder.html |
| Автор: _Flint_ 13.2.2007, 15:13 | ||||||
Пробую
и
и
Результат в переменной fio не меняется. Как был равен "Шамрей", так и остается |
| Автор: tux 13.2.2007, 15:16 |
| А что за веб-контейнер? |
| Автор: _Flint_ 13.2.2007, 15:19 |
| Если я правильно понял вопрос, то OC4J |
| Автор: tux 13.2.2007, 15:34 |
| Так значит. Кодировка, в которой передаются параметры запроса, настраивается средствами веб-контейнеров. Как это делается в OC4J точно не скажу. Попробуй поискать файлик с именем orion-web.xml или похожим, относящийся к разворачиваемому приложению. К тэгу orion-web-app добавь атрибут default-charset с нужным названием кодировки. Правда на что это значение атрибута распространяется я не знаю, возможно и на кодировку, используемую в GET. В общем попробуй, если не получится, придется искать что-то другое. |
| Автор: _Flint_ 13.2.2007, 15:39 | ||||
Самое забавное что конструкция
В итоге показывает строку запроса с уже переведенным параметром "fam". Однако конструкция
продолжает демонстрировать кракозябры. Такое ощущение что придется парсить строку ss уже своими средствами а не getParameter, что не есть верное решение |
| Автор: _Flint_ 13.2.2007, 16:01 | ||
Помогла следующая конструкция:
Спасибо за помощь. Совет с URLDecoder навел на правильную мысль. |