Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > настройка JDBC драйвера


Автор: zss 19.4.2005, 07:53
Есть БД MySQL
Есть JDBC драйвер

Для отображения кирилицы можно настроить my.ini и my.cfg

А можно ли с помощью драйвера перекодировать выборку данных, чтоб не настраивать постоянно MySQL ?

Автор: tux 19.4.2005, 08:43
http://dev.mysql.com/doc/connector/j/en/cj-configuration-properties.html#id2557075
см. characterEncoding
или для другого драйвера
http://lib.juga.ru/article/archive/35/

Автор: Domestic Cat 19.4.2005, 18:11
Можно при обращении указывать
Код

jdbc:mysql://<host>/<database>?useUnicode=true&characterEncoding=utf-8

Автор: Zandr 20.4.2005, 06:33
MySQL коннектор (который стандартный), как заявлено разработчиками, сам делает с кодировкой все что нужно. А my.ini нужно настроить один-единственный раз.

Автор: zss 20.4.2005, 08:26
Всем спасибо - сейчас попробую


Цитата(Zandr @ 20.4.2005, 06:33)
MySQL коннектор (который стандартный), как заявлено разработчиками, сам делает с кодировкой все что нужно. А my.ini нужно настроить один-единственный раз.


Я пробую заполнить таблицу из приложения и у меня в базе вместо кирилицы находится бред типа "?????"

Автор: Zandr 20.4.2005, 12:46
Вот этот бред ты где видишь? Получаешь тем же коннектором или стандартным клиентом MySQL? Если стандартным клиентом и ты под виндой, попробуй сначала дать команду
Код

set character set cp866;

Если же ты с помощью JDBC коннектора заполняешь таблицу и тем же коннектором получаешь обратно вопросы, напиши, что у тебя по поводу кодировки сказано в my.ini. Кстати так же убедись, что my.ini лежит там где нужно. Попробуй коннектор поновее, и MySQL тоже (если ничего не поможет)

Автор: Гость_serge 20.4.2005, 14:55
Я использую "jdbc:mysql://<host>/<database>?useUnicode=true&characterEncoding=KOI8_R" в Linux и
"jdbc:mysql://<host>/<database>?useUnicode=true&characterEncoding=Cp1251" в Windows
В самой базе данных ничего не настраиваю - ею пользуются другие из php и т.д.

Автор: Zandr 21.4.2005, 06:40
раз пользуются значит настроена.
вот это пробовал убирать: useUnicode=true&characterEncoding=KOI8_R ?
т.е. просто
Код

String url = "jdbc:mysql://<host>/<dbName>";

Автор: zss 21.4.2005, 07:10
Всем спасибо
Код

jdbc:mysql://<host>/<database>?useUnicode=true&characterEncoding=utf-8


это помогло

только есть еще вопрос (задам в новом топике в разделе tools, а то модераторы ругаются smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)