Кодировка базы данных (мускул)

Модератор: Модераторы разделов

Аватара пользователя
aeroslav
Сообщения: 208

Кодировка базы данных

Сообщение aeroslav »

Разрабатываю небольшую базу данных на мускуле в Java. Проблема в том, что русские символы выводятся кракозябликами и в консоли, и в JTable. Хотя при работе в самом мускуле из консоли данные отображаются корректно. Кто-нить сталкивался с таким? Как победить?
Registered Linux User #442290
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: Кодировка базы данных

Сообщение eduard_pustobaev »

Ну так скорее всего в мускуле текст в одной кодировке, а java выводит в другой. Хотя странно, думал и там и там юникод.

С жабой сталкивался поверхностно, так что не знаю. А так обычно перекодирую при выводе на виджеты текст. Как и на терминал.
А может и глюк такой, так что ждём знатоков, тут их тоже есть. Даже интересно стало, в чём же проблема. :)
В дисгармонии со вселенной.
Спасибо сказали:
Аватара пользователя
aeroslav
Сообщения: 208

Re: Кодировка базы данных

Сообщение aeroslav »

Ну так скорее всего в мускуле текст в одной кодировке, а java выводит в другой. Хотя странно, думал и там и там юникод.

Логично.
Кроме этого нашел инфу в факе mySQL:
Q. Как обеспечить корректную работу MySQL с русскими символами при сортировке и выборке данных?
В /etc/my.cnf вписать в блоке [mysqld]: default-character-set=koi8_ru (или cp1251)

При работе с базой можно выставить рабочую кодировку через: SET CHARACTER SET koi8_ru

Попытался использовать с SET CHARACTER SET : utf8, koi8r, koi8u, cp1251 и даже cp866(!). В итоге получал разного вида кракозяблики и вопросики.
Запись в my.cnf положительного результата не дала(как будто ничего и не вписывал). (
Registered Linux User #442290
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Кодировка базы данных

Сообщение Zeus »

А если "сказать" базе в какой кодировке отдавать данные по твоему соединению?

Код: Выделить всё

set names koi8r;


или

Код: Выделить всё

set names utf8;


или какая там тебе нужна кодировка...
Спасибо сказали:
BlizZz
Сообщения: 104
ОС: OpenSuSE 11.0, Ubuntu 8.10

Re: Кодировка базы данных

Сообщение BlizZz »

Можно ещё в параметрах соединения JDBC указать в какой кодировке читать данные из БД. Была когда-то аналогичная проблема.

Код: Выделить всё

jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf8
Спасибо сказали: