@Arzonas

Кодировка в MYSQL — в чем проблема?

Есть программа, написанная на java с использованием webharvest 2.0 для самообучения. Сама программа тащит цитаты и рейтинги("..." и "???" считает за 0) к ним с bash.im и забивает их в базу данных вида:
idQuotes PK NN UN AI
Rating NN
Text

Программа стабильно работает и завершает работу, когда записала одну страницу в базу данных. Но в таблице на MySQL вместо русских букв выдаёт "?"(Англ. буквы и цифры нормально отображаются).

Отправляю в базу данных запрос вида: "INSERT INTO " + SchemaName + "." + TableName + " VALUES(NULL, rating, text)"

Записывает в базу программа через пакет java.sql, использую JDBC коннектор с официального сайта MySQL

Записываю методом:
public void executeQuery(String query) {
        try {
            byte[] bytes = query.getBytes();              
            String str = new String(bytes, "UTF-8");  
            connection.createStatement().execute(str);    
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


В настройках базы пытался менять на всевозможные кодировки, не спасло.

Система: Mac OS 10.9
  • Вопрос задан
  • 3275 просмотров
Решения вопроса 1
svd71
@svd71
Нужно настраивать сервер на работу с utf-8.

Внимание! Эта настройка не ко всем версиям MySQL применима один-в-один. Нужно сделать изменение одного параметра и проверить, запускается ли сервер вообще. после этого проверить кодировку: пишет в новую запись правильно или нет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Arzonas Автор вопроса
svd71, спасибо!

[mysql]
default-character-set = utf8
init-connect="set names utf8"
skip-character-set-client-handshake
character-set-server = utf8
character-set-filesystem = utf8

[mysqld]
skip-character-set-client-handshake
character-set-server = utf8
character-set-filesystem = utf8


С таким файлом my.cnf заработало
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы