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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с кодировкой 
:(
    Опции темы
Therion
Дата 19.2.2007, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Для базы fr MySql ставлю ALTER DATABASE fr CHARACTER SET utf8 COLLATE utf8_general_ci;
После этого пишу такой код:
 
Код

           try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                Connection conn = DriverManager.getConnection(
                        "jdbc:mysql://10.119.0.174/chatlandia?user=root&password=password&useUnicode=true&characterEncoding=cp1251");
                Statement stmt = conn.createStatement();
                ResultSet rs = stmt.executeQuery("SELECT message FROM msgs");
                while (rs.next()) {
                    out.println(rs.getString("message") + "<br>");
                }
                
            } catch (Exception ex) {
                System.out.println("SQLException: " + ex.getMessage());
            }


На странице получаю знаки вопроса вместо текста.
Как решить даную проблему.
Заранее благодарен.

PM MAIL   Вверх
tux
Дата 19.2.2007, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


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

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



Ты бы сперва проблему локализовал. Она может возникать:
  • при неправильной конвертации в MySQL текста при изменении кодовой страницы базы данных когда ты выполняешь вот это: "ALTER DATABASE fr CHARACTER SET utf8 COLLATE utf8_general_ci". Тогда тебе совсем в другой раздел форума
  • при неправильной конвертации кириллицы при передаче от клиента к серверу, тогда надо что-то делать с клиентским подключением
  • при выводе данных на страницу, причем там куча вариантов где может возникать проблема. Причем "На странице получаю знаки вопроса вместо текста." для кириллицы и вообще любого текста - это две совершенно разные проблемы
Поэтому сделай следующее:
  • подключись к базе данных стандартным клиентом (не знаю что у него за клиенты, но какие-то должны быть) и посмотри что сейчас в таблицах. Если все в порядке переходим к следующему шагу. Если нет, то проблема видимо в конвертации базы самим MySQL. Тогда это лечится скорее всего только электричеством. Нужно спросить тогда в соответствующем разделе, может быть что-то предложат кроме замены СУБД
  • попробуй напечатать результат запроса просто в консоль. Если там все нормально, тогда дело в самом выводе на страницу и ждем подробностей. Если ненормально, тогда скорее всего проблема со строкой подключения к базе данных
И вопросы в следующий раз, пожалуйста, поконкретнее.

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


Бывалый
*


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

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



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

 <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate?characterEncoding=cp1251;</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">1</property>


Добавлено @ 16:30 
посмотрел свой проек . так вот в  настройках пропертей для велосити устанавливаю кодировку

Код

 props.put("input.encoding", "windows-1251");    
 props.put("output.encoding", "windows-1251");
 p.setProperty(Velocity.ENCODING_DEFAULT,"windows-1251");

ради интереса закомментировал эти строки. и вот что получилось что все что у меня написано на vm-страничках получилось иероглифами. я полез в настройки браузера и костивил  там вручную кодировку  window-1251
  и самое интересное что все стало отображаться правильно(и то что просто в страничке было записано и то что берется из базы отображается корректно)! значит получается что эти настройки неподходят для данных получаемых из базы а работают дтолько для текста вм-страничек!!!!  следовательно надо как то подправить настройки. посоветуйте может кто знает как исправить эту ошибку!!! 
PM MAIL   Вверх
nornad
Дата 25.2.2007, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

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



Цитата(katala @  25.2.2007,  16:16 Найти цитируемый пост)
причем вывожу все в консоль и там одни вопросы! 

Консоль по умолчанию в винде (в винде же ты в консоль выводишь ;)) работает не в ср1251, а в ДОСовской кодировке (кажется, ср866). Как уже рекомендовал в одной из тем LSD, либо смени дефолтный шрифт консоли на Lucida Console (я не пробовал, но LSD верю ;)), либо перед выводом в консоль конвертируй строки.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0823 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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