Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [h] Проблема с кодировкой, при перессылке данных из формы в bean 
:(
    Опции темы
MAMOHT
Дата 2.11.2007, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 2.10.2007

Репутация: нет
Всего: нет



Привет. На старнице есть форма заказа ...
Код

<FORM METHOD=POST action="<%=base%>" >

<input type="Hidden" name="submit" value="true"/>
<input type="Hidden" name="action" value="order"/>


<center>

<table>
    
        
    <tr>
        <td><%= ordBean.getField("name", FIELD_NAME) %></td>
        <td><input type="Text" name="name" value="<%= ordBean.getField("name", FIELD_VALUE) %>"/></td>
    </tr>
    <tr>

.......



При сабмите - данные заносятся в бин:
Код

<jsp:setProperty name="ordBean" property="name" param="name"/>
        


Уже в самом бине - обрабатываються и заносятся в БД.
Когда текст английский - все нормально.... но когда русский - начинаються проблемы.
Все дело в том, что при отладке я пытался выводить данные , передаваемые в бин, в консоль еклипса - эти данные отображаються знаками вопроса. Потом бин пересылает эти же данные мне на мыло - то же самое - русские буквы заменяються знаками вопроса.

С другой стороны - я эти данные пихаю в БД, так вот - в БД они храняться так, как надо, кроме того на другой странице я просматриваю эти самые  записи из БД - тоже все нормально.

Влияет ли кодировка страницы на передаваемые данные, или только на отображаемые ??
В чем может быть проблема ?? В какую сторону копать ?? 
Помогите разобраться плз.

Спасибо.
PM MAIL   Вверх
valiantsin
Дата 2.11.2007, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 25.10.2007

Репутация: нет
Всего: 1



Уважаемый 
MAMOHT, с Вашим вопросом поможет Вам же разобраться - вот эта интересная статья:
http://www.jug.ru/servlets/index?page=rus#jsp
если Вы сами не поймете - напишите еще раз до чего Вы не докопались, на чем остановились - просто очень сложно делать некоторые выводы - слишком много различных вариантов smile Вполне вероятно, что и там ответа правильного не будетsmile.

Это сообщение отредактировал(а) valiantsin - 2.11.2007, 11:37
PM MAIL ICQ   Вверх
Се ля ви
Дата 2.11.2007, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 3
Всего: 127



А изначальный документ, с формой - в какой коировке? Поставь utf-8.


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
MAMOHT
Дата 2.11.2007, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 2.10.2007

Репутация: нет
Всего: нет



хм_

Почитал я статью... в принципе - ничего нового  =((

1) Кодировка jsp документа с формой - <%@page contentType="text/html;charset=UTF-8" %>

 не помогло -(
2) При отправке сообщения :
пробывал прописать так, как это описывалось в статье - 

message.setText("Текст тестового письма",ENCODING);

Но еклипс пишет ошибку - 

The method setText(String) in the type Part is not applicable for the arguments (String, String)

С другой стороны в MySQL же данные норм заносятся...

Код

String sql="insert into orders values('"+
     name+"','"+surname+"','"+email+"','"+icq+"','"+phone+
     "','"+description+"',NOW());";

     System.out.println(sql);


В базе все переменные сохраняються нормально, а при систем.оут - в консоли иероглифы...
PM MAIL   Вверх
MAMOHT
Дата 3.11.2007, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 2.10.2007

Репутация: нет
Всего: нет



Лазил в инете - не у одного меня такая проблема.
Люди говорят, что можно использовать URLDecoder, зашитый в метод setProperty(...) bean-компонента.
Так вот:
1) Неужели нету другого способа с этим бороться, кроме как в каждый сеттер писать дополнительный код ??

2) Собственно а как пользоваться этим самым URLDecoder ??

Спасибо.
PM MAIL   Вверх
Kangaroo
Дата 3.11.2007, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 14
Всего: 104



Мы тоже на работе сталкивались с такой проблемой, расскажу решение может поможет.
Используем Spring и Tomcat.
В web.xml поставили фильтр:
Код

<filter>
  <filter-name>charsetFilter</filter-name> 
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
- <init-param>
  <param-name>encoding</param-name> 
  <param-value>UTF-8</param-value> 
  </init-param>
  </filter>
- <filter-mapping>
  <filter-name>charsetFilter</filter-name> 
  <url-pattern>/*</url-pattern> 
  </filter-mapping>

+ дописали в server.xml Tomcat'a:
Код

<Connector port="8080" ..... URIEncoding="UTF-8" />

+ на страничке прописано.
Вроде ничего не забыл.


--------------------
Lost....
PM MAIL MSN   Вверх
MAMOHT
Дата 3.11.2007, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 2.10.2007

Репутация: нет
Всего: нет



Спасибо большое за ответ. 
Проблема пока не решена т.к. ничего, кроме названия , о спринге не знаю =))

Сегодня же начну разбираться =)))

Но все ровно спасибо.
PM MAIL   Вверх
Kangaroo
Дата 3.11.2007, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 14
Всего: 104



Цитата(MAMOHT @  3.11.2007,  22:02 Найти цитируемый пост)
Проблема пока не решена т.к. ничего, кроме названия , о спринге не знаю =))

Фильтр можно и ручками сделать, я думаю он просто каждому request'y и response'y ставит соответствующую кодировку. Вот и все.

В соседней теме была такая же проблема, решилась с помощью установки Tomcat'y кодировки в server.xml как я написал.



--------------------
Lost....
PM MAIL MSN   Вверх
MAMOHT
Дата 4.11.2007, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 2.10.2007

Репутация: нет
Всего: нет



Кодировку томката я ставил...
Вобщем сделал все как ты писал (кроме фильтра), но мне не помогло...
Буду думать шо  как... спасибо большое....
PM MAIL   Вверх
jsa
Дата 4.11.2007, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 2
Всего: 20



MAMOHT, джава не регламентирует кодировку при передаче данных постом, поэтому все данные передаются в ISO-8859, если надо пробразовать в нормальную кодировку то примерно так
Код

 String normalizeString = new String(request.getParameter('...').getBytes('ISO-8859-1'),'UTF-8');

писал по памяти, могут быть ошибки, но в целом идея надеюсь понятна


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1015 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.