Java <---> MySQL кодировка

Java <---> MySQL кодировка

Xpoint.ru » Форумы » Программирование » Java

Метки: [без меток]

Форум F.A.Q. Статьи Полезные ссылки Архив форума Рейтинг пользователей

2007-07-16 13:34:01 Kanat

Привет всем,

Я создал в JSP и сервлетах сайт и в сайте я должен регистрировать пользователя. А данные от пользователя могут быть юникод символами, и вот если я начну писать данные в MySQL то туда пишется одни вопрасительные знаки в место символа. Примерно вот так: "вот так." пишет в БД как "??? ???."

Пожалуйста можете подсказать в чем дело !?

спустя 2 часа 49 минут Pil(0/22)

В том что, скорее всего, Ваша СУБД настроена на Win-1251 кодировку, а J2EE работает с юникодом. Установите UTF в MySQL в качестве кодировки для БД.

спустя 13 часов Роман Чемисов(0/327)

Kanat

После подключения к БД делайте (в SQL)

SET NAMES utf8;

спустя 1 день 7 часов Kanat

Большое спасибо!

спустя 1 год 2 месяца пользователь удален

Хотя тема старая, но добавлю и свои две копейки:

- в настройках JDBC драйвера к MySQL надо добавить параметр с указанием кодировки в которой данные хранятся в базе, "characterEncoding" со значением "UTF-8" или со значением "CP1251", в зависимости от того какая кодировка реально используется в таблице для хранения данных. Более подробно проблема описана тут: http://www.brim.ru/faq/java/encoding.html#1

спустя 2 месяца 2 дня Сергей Золотухин(0/126)

Друзья, у меня та же самая проблема, но при использовании библиотеки Hibernate (по этой причине предыдущее сообщение для меня полезно, но только в теории). База в UTF, SET NAMES на всякий случай делал, с Hibernat'овом cfg даже воткнул <property name="hibernate.connection.url">jdbc:mysql://localhost/test?encoding=UTF-8</property> на всякий случай — не помогает. Косяк браузер->сервер исключаю, хардкодя значение для базы прямо в java-коде (код тоже в UTF :).

Помогите, если кто сталкивался, а то у меня уже кровь сворачивается... :\

спустя 10 минут Сергей Золотухин(0/126)

Затупил :-) Добавил к connectionString ?encoding=UTF-8&amp;useUnicode=true&amp;characterEncoding=UTF-8