![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
almagnit |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 3.4.2008 Репутация: 1 Всего: 7 |
Выполняю команду INSERT и если данные для вставки на ангийском, то проблем не возникает,
а если пытаюсь сохранить в БД русскую информацию, то сервер дает ошибку не корректного символа потому как JAVA преобразовывает русские буквы в
при установке соединения устанавливаю кодировку cp1251, просмотрел System properties везде в кодировках указывается cp1251. Что приводит к вышеописанному результату? |
|||
|
||||
v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
а база данных / таблица с какой кодировкой создана?
я бы рекомендовал всюду использовать юникод (UTF-8)... |
|||
|
||||
almagnit |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 3.4.2008 Репутация: 1 Всего: 7 |
насколько я знаю Unicode в Java используется по умолчанию, а без изменения умолчаний русские буквы вообще преобразовываются в "?"(знаки вопроса), с этим я столкнулся на предыдущем шаге, до того как указал в переменной Properties кодировку cp1251. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
1. Какая база, кодировка базы, какой драйвер используется?
2. Как формируется insert, с подстановочными параметрами или без? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
almagnit |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 3.4.2008 Репутация: 1 Всего: 7 |
||||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Попробуй с подстановочными параметрами.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
almagnit |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 3.4.2008 Репутация: 1 Всего: 7 |
||||
|
||||
v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
я так понимаю имелось ввиду
|
|||
|
||||
almagnit |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 3.4.2008 Репутация: 1 Всего: 7 |
Не вижу взаимодействия PreparedStatements и выходной кодировки. Соответственно результат
не изменился
Еще разобрался что ошибка не в неправильном написании кода, потому как последняя моя программа работавшая без ошибок сейчас отказывается добавлять информацию в БД на русском языке. Может быть что-то с ПО. Я пользуюсь - mysql-5.0.45-win32 (при настройке конфигурации выбираю cp1251); - mysql-connector-java-5.0.6 - jre1.5.0_15 вот системные параметры JRE:
Что же так повлияло на работу соединения ? |
||||
|
|||||
almagnit |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 3.4.2008 Репутация: 1 Всего: 7 |
Да ты был прав. Блин пол дня потратил на отладку этой ерундовины, плюс один - начитался всего чего можно. Это при обработке полученных данных на русском языке нужно изменять кодировку через new String(data, "cp1251"). А при записи эта кодировка лишняя. ЗЫ: Ну надо же было ... ![]() |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
А он и не должен, за преобразование данных отвечает драйвер. Раз он этого не сделал, значит неправильные установки соединения/базы. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |