Кодировка базы данных (мускул)
Модератор: Модераторы разделов
-
aeroslav
- Сообщения: 208
Кодировка базы данных
Разрабатываю небольшую базу данных на мускуле в Java. Проблема в том, что русские символы выводятся кракозябликами и в консоли, и в JTable. Хотя при работе в самом мускуле из консоли данные отображаются корректно. Кто-нить сталкивался с таким? Как победить?
Registered Linux User #442290
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Кодировка базы данных
Ну так скорее всего в мускуле текст в одной кодировке, а java выводит в другой. Хотя странно, думал и там и там юникод.
С жабой сталкивался поверхностно, так что не знаю. А так обычно перекодирую при выводе на виджеты текст. Как и на терминал.
А может и глюк такой, так что ждём знатоков, тут их тоже есть. Даже интересно стало, в чём же проблема.
С жабой сталкивался поверхностно, так что не знаю. А так обычно перекодирую при выводе на виджеты текст. Как и на терминал.
А может и глюк такой, так что ждём знатоков, тут их тоже есть. Даже интересно стало, в чём же проблема.
В дисгармонии со вселенной.
-
aeroslav
- Сообщения: 208
Re: Кодировка базы данных
Ну так скорее всего в мускуле текст в одной кодировке, а 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: Кодировка базы данных
А если "сказать" базе в какой кодировке отдавать данные по твоему соединению?
или
или какая там тебе нужна кодировка...
Код: Выделить всё
set names koi8r;или
Код: Выделить всё
set names utf8;или какая там тебе нужна кодировка...
-
BlizZz
- Сообщения: 104
- ОС: OpenSuSE 11.0, Ubuntu 8.10
Re: Кодировка базы данных
Можно ещё в параметрах соединения JDBC указать в какой кодировке читать данные из БД. Была когда-то аналогичная проблема.
Код: Выделить всё
jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf8