| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > [h] Проблема с кодировкой |
| Автор: MAMOHT 2.11.2007, 11:09 | ||||
Привет. На старнице есть форма заказа ...
При сабмите - данные заносятся в бин:
Уже в самом бине - обрабатываються и заносятся в БД. Когда текст английский - все нормально.... но когда русский - начинаються проблемы. Все дело в том, что при отладке я пытался выводить данные , передаваемые в бин, в консоль еклипса - эти данные отображаються знаками вопроса. Потом бин пересылает эти же данные мне на мыло - то же самое - русские буквы заменяються знаками вопроса. С другой стороны - я эти данные пихаю в БД, так вот - в БД они храняться так, как надо, кроме того на другой странице я просматриваю эти самые записи из БД - тоже все нормально. Влияет ли кодировка страницы на передаваемые данные, или только на отображаемые ?? В чем может быть проблема ?? В какую сторону копать ?? Помогите разобраться плз. Спасибо. |
| Автор: valiantsin 2.11.2007, 11:34 |
| Уважаемый MAMOHT, с Вашим вопросом поможет Вам же разобраться - вот эта интересная статья: http://www.jug.ru/servlets/index?page=rus#jsp если Вы сами не поймете - напишите еще раз до чего Вы не докопались, на чем остановились - просто очень сложно делать некоторые выводы - слишком много различных вариантов |
| Автор: Се ля ви 2.11.2007, 12:26 |
| А изначальный документ, с формой - в какой коировке? Поставь utf-8. |
| Автор: MAMOHT 2.11.2007, 18:18 | ||
| хм_ Почитал я статью... в принципе - ничего нового =(( 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 же данные норм заносятся...
В базе все переменные сохраняються нормально, а при систем.оут - в консоли иероглифы... |
| Автор: MAMOHT 3.11.2007, 14:10 |
| Лазил в инете - не у одного меня такая проблема. Люди говорят, что можно использовать URLDecoder, зашитый в метод setProperty(...) bean-компонента. Так вот: 1) Неужели нету другого способа с этим бороться, кроме как в каждый сеттер писать дополнительный код ?? 2) Собственно а как пользоваться этим самым URLDecoder ?? Спасибо. |
| Автор: Kangaroo 3.11.2007, 17:44 | ||||
| Мы тоже на работе сталкивались с такой проблемой, расскажу решение может поможет. Используем Spring и Tomcat. В web.xml поставили фильтр:
+ дописали в server.xml Tomcat'a:
+ на страничке прописано. Вроде ничего не забыл. |
| Автор: MAMOHT 3.11.2007, 23:02 |
| Спасибо большое за ответ. Проблема пока не решена т.к. ничего, кроме названия , о спринге не знаю =)) Сегодня же начну разбираться =))) Но все ровно спасибо. |
| Автор: MAMOHT 4.11.2007, 13:45 |
| Кодировку томката я ставил... Вобщем сделал все как ты писал (кроме фильтра), но мне не помогло... Буду думать шо как... спасибо большое.... |
| Автор: jsa 4.11.2007, 15:08 | ||
MAMOHT, джава не регламентирует кодировку при передаче данных постом, поэтому все данные передаются в ISO-8859, если надо пробразовать в нормальную кодировку то примерно так
писал по памяти, могут быть ошибки, но в целом идея надеюсь понятна |