![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Dzo |
|
||||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 22.4.2008 Репутация: нет Всего: 1 |
Блин второй день мучаюсь, прочитал кучу мануалов, все темы на форуме и не помогло...
В общем есть у мну база с одной таблицей, куда я хочу записывать данные на родном могучем русском. База у меня Mysql 5.0.51b, ОС Windows. Что я делаю: 1. В MySql Administrator иду StartUp Variables->Advanced->Def.CharSet ставлю utf8 - > Apply Changes 2. Выбираю базу в Catalogs и каждой таблице прописываю CharSet в значение utf8 3. Перезагружаю сервис MySql Теперь пример моей страницы с формой (JSP):
Пробовал несколько вариантов обработки входных данных:
Или обычно:
Мои запросы:
Все это ТОЧНО делается в одном соединение с базой. Я перебрал все возможные кодировки, все равно выводится абракадабра: Для utf8: Пишет ошибку: SQLException: Incorrect string value: '\xD1?\xD0\xB5\xD1?...' for column 'sendsubject' at row 1 Это для слова "тест" Для cp1251: ???µ???? В разделе баз данных надоумили, что Java передает данные в кодировке ISO... Верное направление? Как лечить? ХЭЛП! |
||||||||||
|
|||||||||||
necromancer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 317 Регистрация: 26.7.2006 Где: Москва Репутация: 6 Всего: 7 |
кодировку можно задать в урле подкллючения:
jdbc:mysql://localhost:3306/video?useUnicode=true&characterEncoding=utf8 так же кодировка входящих параметров кодируется так: new String(type.getBytes("ISO-8859-1"), "utf8"); String sqlQuery = "SET NAMES utf8"; Statement s = dbConnection.createStatement(); s.executeQuery(sqlQuery); s.close(); это не требуется (по крайней мере, под Java, в PHP использую этот хак) -------------------- С уважением, Виталий Смык ---------------------------------------------------------------------------------------------- SCJP, SCWCD, OCA http://dev.maryno.net/video/ |
|||
|
||||
Dzo |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 22.4.2008 Репутация: нет Всего: 1 |
Так ну что-то проблема не очень решилась...
Что я имею: Строка подключения:
Имею два <input type="text">, которые могут иметь в себе русский текст. Перевожу их:
В настройках базы для таблиц прописаны utf8 Результат: лолдододл (это я скопировал и вставил, в базе оно выглядит как жирные черные палочки) Как лечить? : ((( |
||||
|
|||||
alexadr |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 25.9.2006 Репутация: нет Всего: 4 |
Я бы посоветовал в первую очередь подкорректировать вашу джавовую часть, т.е. я бы добавил фильтр, который бы задавал кодировку для реквеста, т.о. уберется порно типа этого:
НУ а фильтр примерно такой:
Соответственно его в web.xml добавляем. И уже дальше смотрим что почем. |
||||
|
|||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Одно уточнение. Этот фильтр в цепочке фильтров должен быть первым.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |