Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2010, 05:46   #1
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию Проблемы с кодировкой текста в Windows XP

При деплое проекта на целевую машину с Windows XP, появилась проблема:

Что имеется:
1. Java приложение скомпилированное в Windows 7 в среде NetBeans 6.5 c JRE 1.6.
2. MySQL 5.1 с базой в кодировке UTF-8.
3. Целевая машина с Windows XP + JRE 1.6( той же самой версии что и на девелоперской ) и MySQL 5.1(билд вроде тот же).

Приложение отображает и вводит данные в базу. Ввод данных происходит следующим образом:
1. Из JTextField.text через String.format или же простой конкатенацией формируется SQL запрос для ввода данных.
2. Запрос выполняется и сразу же обновляется отображение данных.

Вот с чем я столкнулся: запрос успешен, но вместо искомого %String_data% в базу добавляются ???????. Это проверялось.


Где может быть подвох? На девелоперской машине все расчудесно себе работает, более того в пакете с приложением поставляется и сама SwingLib через которую и делался интерфейс( к слову в линуксе приложение не работает если нет родной версии Swing, но это так - лирическое отступление).

Я думаю что это как то связано с дефолтной системной кодировкой. По видимому в Windws 7 на вход к JTextField поступает все тот же знакомый UTF-8 или сам он в него преобразует строку. ( К слову так и непонятно в какой кодировке сохранялись внутренние строки забитые в приложение, в UTF-8? ).
"Тяжело в учении, легко в бою" - А.В. Суворов
Ivan_32 вне форума Ответить с цитированием
Старый 07.11.2010, 13:08   #2
alexinspir
Новичок
Джуниор
 
Аватар для alexinspir
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Хороший вопрос! самому стало интересно.
Цитата:
К слову так и непонятно в какой кодировке сохранялись внутренние строки забитые в приложение, в UTF-8?
В utf-8.
При этом, если кодировка файлов java не utf-8 и в javac не указан -encoding, то строки подвергаются сырому конвертированию из кодировки файла в кодировку utf8. если же кодировка файлов java не utf-8 и в javac указан соответствующий -encoding то конвертация происходит явно из той кодировки в utf8(т.е. все работает впорядке).

У вас скорее всего случился конфликт, в следствие того что все строки в Java по-умолчанию представлены двухбайтовой кодировкой(UTF-16LE вроде), и JDBC драйвер не производит конвертации. как найду точный ответ - отпишусь.

И еще, попробуйте сразу после установки коннекта отправить запрос к MySQL: set names 'utf8' (или без одинарных кавычек).
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.

Последний раз редактировалось alexinspir; 07.11.2010 в 15:30.
alexinspir вне форума Ответить с цитированием
Старый 10.11.2010, 21:18   #3
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

Как и ожидалось, проблема разрешилась исполнением ритуального танца с бубном перед сервером. Похоже просто забыл перевести MySQL-сервер в режим UTF-8. Дурацкая Latin1, и кому она спрашивается вообще нужна... Во всяком случае после реконфигурации MySQL все заработало как надо.
"Тяжело в учении, легко в бою" - А.В. Суворов
Ivan_32 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с кодировкой UTF8 Terikon Общие вопросы Delphi 30 11.09.2011 22:48
Проблемы с кодировкой! bookkc PHP 5 17.05.2009 22:25
Проблемы с кодировкой? [Smarik] БД в Delphi 35 15.02.2009 15:32
Проблемы с кодировкой LAGOX PHP 7 14.02.2009 15:13
Проблемы с кодировкой Levchik HTML и CSS 2 16.12.2008 16:12