Кодировка, - к вопросу о русских буквах в java
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Кодировка, - к вопросу о русских буквах в... Expand / Collapse
Автор
Сообщение
30.01.2007 20:04
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 01.04.2008 19:27
Сообщ.: 182, Visits: 1 528
Всем дорый день.

Вопрос связан с русскими буквами.

Значит ситуация следующая:

Есть веб приложение, на основе стратса.

В нем есть jsp-шка в которой есть форма с полем ввода. если я в этом поле ввода ввожу слово из русских букв, то уже внутри стратсовского акшина я получаю не это слово а билеберду.

К слову сказать, эту билеберду я могу преобразовать в нормальное слово с помощью "хитроумной" комбинации:

String rusStr = new String(tstForm.getName().getBytes("ISO8859-1"), "UTF-8");

Чтобы не делать подобных извращений с каждым полем, я создал фильтр, в котором в методе doFilter(....) делаю следующее:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {

        request.setCharacterEncoding("UTF-8");
        filterChain.doFilter(request, response);

}

После чего начинает все работать.

На самом деле проблема естественно не в маленьком тестовом приложении, а в большом-жирном. И подобные действия только один из шагов.

Сейчас мне необходимо понять каким образом данные из реквеста преобразовываются в русские слова.

Т.е. если взять InputStream у реквеста:

servletRequest.getInputStream()

ну и вытянуть из него поток байт, то сохранив эти байты в файл получаем следующий контент файла:

name=%D1%84&count=445

В браузере на форме я вводил:

name = ф

count = 445

Таким образом подстрока "%D1%84" преобразовывается в "ф".

Собственно вопрос в том как происходит подобное преобразование ("%D1%84" -> "ф")?

Спасибо.

Сообщ. #910220
30.01.2007 21:14
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 29.04.2007 19:12
Сообщ.: 548, Visits: 5 276
http://www.rfc-editor.org/rfc/rfc1738.txt

URL Character Encoding Issues
Сообщ. #910222
30.01.2007 21:14
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 29.04.2007 19:12
Сообщ.: 548, Visits: 5 276
На google тебя забанили?
Сообщ. #910223
09.02.2007 14:27
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 09.02.2007 14:25
Сообщ.: 9, Visits: 91
У меня были проблемы с русскими буквами, они вообще не передавались в Form классы. Вылечилось следующими тегами:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<META http-equiv="Content-Type" content="text/html; charset=UTF-8">

Сообщ. #910622
09.02.2007 14:46
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 29.04.2007 19:12
Сообщ.: 548, Visits: 5 276
www.google.com

Ключевые слова: jsp проблема с русскими буквами



Инетересно, есть приз за решение проблемы миллионным девелопером?
Сообщ. #910625
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, mishgun, pl

Время GMT +3:00, Сейчас 4:14