Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MySQL 5.0+Java+UTF8 
:(
    Опции темы
initmax
Дата 20.10.2009, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



MySQL 5.0
добавляю инфу с консоли, в таблицу БД "на русском" всё нормально, по SELECT * FROM *; всё отображается верно,
Пытаюсь эту инфу читать c помощью java приложения с БД вместо русского иероглифы, хотя JAVA заточена при подключении под unicode UTF8 и таблицы созданы с полями под UTF8
 String url = "jdbc:mysql://localhost:3030/initmax" + "? autoReconnect=true&useUnicode=true&characterEncoding=utf8";

кто что подскажет?
спасибо за внимание.
PM MAIL   Вверх
sTa1kEr
Дата 20.10.2009, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


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

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



Кодировка в терминале соответствует кодирове используемой при подключении к MySQL?
PM MAIL   Вверх
initmax
Дата 20.10.2009, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



locale

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

PM MAIL   Вверх
initmax
Дата 20.10.2009, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Спасла такая строка:

      String url = "jdbc:mysql://localhost:3030/initmax"+"?autoReconnect=true&useUnicode=true&characterEncoding=utf8"+
              "&SET character_set_client = 'utf8'" +
              "&SET character_set_connection = 'utf8'" +
              "&SET character_set_results = 'utf8'";
PM MAIL   Вверх
initmax
Дата 20.10.2009, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



По умолчанию в MySQL SHOW WARIABLES


show variables;
+---------------------------------+-----------------------------+
| Variable_name                   | Value                       |
+---------------------------------+-----------------------------+
| auto_increment_increment        | 1                           | 
| auto_increment_offset           | 1                           | 
| automatic_sp_privileges         | ON                          | 
| back_log                        | 50                          | 
| basedir                         | /usr/                       | 
| binlog_cache_size               | 32768                       | 
| bulk_insert_buffer_size         | 8388608                     | 
| character_set_client            | latin1                      | 
| character_set_connection        | latin1                      | 
| character_set_database          | latin1                      | 
| character_set_filesystem        | binary                      | 
| character_set_results           | latin1                      | 
| character_set_server            | latin1                      | 
| character_set_system            | utf8                        | 


Интересно в каком конфе хранятся эти настройки...

PM MAIL   Вверх
skyboy
Дата 21.10.2009, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Цитата(initmax @  20.10.2009,  20:37 Найти цитируемый пост)
 "&SET character_set_client = 'utf8'" +
              "&SET character_set_connection = 'utf8'" +
              "&SET character_set_results = 'utf8'"; 

достаточно выполнить
Код

SET NAMES utf8

это все три character_set_* в одном флаконе.

Добавлено через 2 минуты и 34 секунды
в данном случае, настройки локали системы LC_* никак не связаны с тем, что в MySQL кодировка(соединения, клиента и результатов - то, что ты устанавливал при помощи параметров подключения) по умолчанию установлена не UTF-8.
PM MAIL   Вверх
initmax
Дата 21.10.2009, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(skyboy @  21.10.2009,  10:04 Найти цитируемый пост)
SET character_set_results = 'utf8'


Под Linux всё нормально получилось, но вот под Винду эту замечательную и всемилюбимую операционную систему, не выходит, а именно добавление данных в БД c консоли на русс добавлять не выходит данные, а через MySQLMaestro добавляет иероглифы,хоть и выполняю при залогиненой БД SET NAMES Ute
какой GUI под виндовс можете посоветовать?

PM MAIL   Вверх
skyboy
Дата 21.10.2009, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Цитата(initmax @  21.10.2009,  13:16 Найти цитируемый пост)
в БД c консоли на русс добавлять не выходит данные

консоль по умолчанию использует ср866 кодировку, а не UTF-8.
соответственно, надо использовать SET NAMES cp866

Добавлено через 2 минуты и 58 секунд
чтоб сменить кодировку консоли на юникод, можно выполнить chcp 65001
главное при этом - сменить дефолтный шрифт в консоли на поддерживающий юникод.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0686 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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