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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> кодировка русскога алфавита 
V
    Опции темы
tux
Дата 7.5.2006, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

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



Тема обсуждалась многократно. Кодировка должна выставляться до первого обращения в объекту класса HttpServletRequest. Если используется какой-либо фреймворк (Struts, например), то кодировку ты гарантированно устанавливаешь уже после первого обращения. Поэтому делать это надо в фильтре. Рецепт здесь - http://forum.vingrad.ru/index.php?showtopi...st&p=530693.  

Это сообщение отредактировал(а) tux - 7.5.2006, 16:49
PM MAIL Skype GTalk Jabber YIM   Вверх
katala
Дата 7.5.2006, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



все и с этой проблемой справились(общими усилиями). теперь еще два вороса
почему в web.xml после добавления 
 
Код

<filter>    
        <filter-name>SelectLanguageFilter</filter-name>    
        <filter-class>filter.SelectLanguageFilter</filter-class>    
      <init-param>    
        <param-name>requestEncoding</param-name>    
        <param-value>windows-1251</param-value>    
      </init-param>    
    </filter>    
    <filter-mapping>    
        <filter-name>SelectLanguageFilter</filter-name>    
        <url-pattern>/*</url-pattern>    
    </filter-mapping>
 напротив строки </web-app> повляется знак ошибки????
и второе как теперь в базу правильно сохранить. вообще для работы с базой изполью технология hibernate.  все настройки в файле hibernate-config.xml

Код

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC  "-//Hibernate/Hibernate Configuration DTD//EN"  "hibernate-configuration-2.0.dtd" >

<hibernate-configuration>


    <session-factory name="java:comp/env/hibernate/SessionFactory">

        <property name="hibernate.connection.datasource">java:comp/env/jdbc/forum</property>

        <property name="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.use_outer_join">true</property>

        <!-- <property name="hibernate.transaction.factory_class">net.sf.hibernate.transaction.JBossTransactionManagerLookup</property>-->

        <property name="hibernate.jta.UserTransaction"> java:comp/UserTransaction</property>

        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate?characterEncoding=UTF-8</property>
        <property name="hibernate.connection.username">lex</property>
        <property name="hibernate.connection.password"></property>
        <property name="hibernate.connection.provider_class">net.sf.hibernate.connection.DriverManagerConnectionProvider</property>

     <property name="c3p0.max_size">1000</property>
        <property name="c3p0.min_size">2</property>
        <property name="c3p0.timeout">5000</property>
        <property name="c3p0.max_statements">100</property>
        <property name="c3p0.validate">true</property>

        <property name="dbcp.maxActive">1000</property>
        <property name="dbcp.maxIdle">100</property>
        <property name="dbcp.maxWait">5000</property>
        <property name="dbcp.whenExhaustedAction">0</property>
        <property name="dbcp.testOnBorrow">false</property>
        <property name="dbcp.testOnReturn">false</property>
        <property name="dbcp.ps.maxActive">100</property>
        <property name="dbcp.ps.maxIdle">100</property>
        <property name="dbcp.ps.maxWait">100</property>
        <property name="dbcp.ps.whenExhaustedAction">0</property>

        <property name="query.substitutions">true=1, false=0</property>

        <!-- mapping files -->
        <mapping resource="hibernate/mapping/Client.hbm.xml"/>
        

    </session-factory>

</hibernate-configuration>


пробовал добавить запись <property name="characterEncoding">windows-1251</property>
но не помогло . подскажи что надо добавить и что изменить 
PM MAIL   Вверх
batigoal
Дата 7.5.2006, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


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

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



Цитата(katala @  7.5.2006,  19:47 Найти цитируемый пост)
почему в web.xml ... напротив строки </web-app> повляется знак ошибки????

Посмотри вот этот топик: http://forum.vingrad.ru/index.php?showtopic=94881, возможно, у тебя та же проблема. 


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
katala
Дата 7.5.2006, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Lamer George,точно! спасибо! просто неправильный порядок следования 
PM MAIL   Вверх
tux
Дата 8.5.2006, 04:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

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



Цитата(katala @  7.5.2006,  23:47 Найти цитируемый пост)
пробовал добавить запись <property name="characterEncoding">windows-1251</property>
но не помогло . подскажи что надо добавить и что изменить  

А проблема-то в чем? Опять с кодировкой того, что записывается в базу данных? Если так, попробуй изменить URL подключения на такой:
Код

jdbc:mysql://localhost/hibernate?useUnicode=true&characterEncoding=utf-8

И еще вот из этих двух наборов:
Код

<property name="c3p0.max_size">1000</property>
<property name="c3p0.min_size">2</property>
<property name="c3p0.timeout">5000</property>
<property name="c3p0.max_statements">100</property>
<property name="c3p0.validate">true</property>

и
Код

<property name="dbcp.maxActive">1000</property>
<property name="dbcp.maxIdle">100</property>
<property name="dbcp.maxWait">5000</property>
<property name="dbcp.whenExhaustedAction">0</property>
<property name="dbcp.testOnBorrow">false</property>
<property name="dbcp.testOnReturn">false</property>
<property name="dbcp.ps.maxActive">100</property>
<property name="dbcp.ps.maxIdle">100</property>
<property name="dbcp.ps.maxWait">100</property>
<property name="dbcp.ps.whenExhaustedAction">0</property>

что-то одно убери. Это настройки для двух разных пулов соединений. Вместе они все равно использоваться не будут ни при каких обстоятельствах. Скорее всего используется первый, поскольку hibernate его первым находит. 
PM MAIL Skype GTalk Jabber YIM   Вверх
katala
Дата 28.5.2006, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



опять вернулся к этой проблеме(тогда не дороботал а теперь из-за этого проблемы).
никак не получается хранить в базе инфу написанную ни кирилице.

Цитата

А проблема-то в чем? Опять с кодировкой того, что записывается в базу данных? Если так, попробуй изменить URL подключения на такой:

jdbc:mysql://localhost/hibernate?useUnicode=true&characterEncoding=utf-8

так пробовал но не помогло.
 
попробую сформулировать проблему еще раз:
 с формы получаю данные(на этом этапе без проблем) и сохраняю их в базе. потом когда их  выгружаю из базы  получаютя одни ???????. где мне и что исправить чтобы нормально принимать кирилицу????? 
PM MAIL   Вверх
tux
Дата 29.5.2006, 02:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

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



Вижу единственную причину почему так происходит - проблема в соединении с базой данных. Либо база данных создана с такой кодировкой, которая не поддерживает кириллицу (например, вообще без задания кодировки), либо между кодировкой базы и кодировкой клиента не поддерживается конвертация. 
PM MAIL Skype GTalk Jabber YIM   Вверх
Maksym
Дата 11.6.2006, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

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



Поднимаю тему 
 smile 
Проблема кодировок решалась в системе подключением фильтра (первого в цепочке), который делал: 
Код
request.setCharacterEncoding("UTF-8");

После того как система мигрировала на Struts - кодировки опять поломались. Приведенный фильтр уже не помогает.
Есть подозрение, что Struts обращается к request'у раньше моего фильтра /а метод setCharacterEncoding() срабатывает только в случае если он вызван до первого обращания к request/ - о чем писали выше, но фильтр стоит как и раньше первым в цепочке.  smile 
Может я что-то где-то пропустил..?  smile

Добавлено @ 14:34 
Прошу прощения, в фильтр вообще не попадало управление  smile 
В мапинге фильтра нужно было написать *.do вместо /*.do или  /* , как я пробовал...  smile  ну где же логика..! smile  

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

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

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


 




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


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

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