четверг, 19 июля 2012 г.

Java + Mysql + utf8 = вопросы вместо русских букв (??????)

Если при записи в базу получаем вместо русских букв знаки вопроса, добавляем в параметры подключение к JDBC

useUnicode=true
characterEncoding=utf8

Т.е. урл для подключения к базе должен представлять вид - jdbc:mysql://hostname:port/database?useUnicode=true&characterEncoding=utf8

и не лишним будет сразу после подключения к базе выполнить два "запроса"

stat.execute("set character set utf8");
stat.execute("set names utf8");

12 комментариев:

  1. в какой файл вставлять?

    ОтветитьУдалить
  2. добавляем не в файл, а в JDBC URL:

    вроде такого

    jdbc:mysql://hostname:port/database?useUnicode=true&characterEncoding=utf8

    В общем, нужно, что бы урл модифицировался в таком виде.

    ОтветитьУдалить
  3. Спасибо, мне помогло.

    ОтветитьУдалить
  4. Спасибо большое человеческое!

    ОтветитьУдалить
  5. Побольше бы таких святых людей который помогают решить проблему в 2 строчки)

    ОтветитьУдалить
  6. Этот комментарий был удален автором.

    ОтветитьУдалить
  7. Этот комментарий был удален автором.

    ОтветитьУдалить
  8. Этот комментарий был удален автором.

    ОтветитьУдалить