Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 8

Проблема с записью русских букв

07.06.2019, 13:05. Показов 2213. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Есть очень странная проблема. Имеется база данных с таблицей в кодировке uft8

MySQL
1
show table status where name='EXPERIMENTS';
+-------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment |
+-------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+
| EXPERIMENTS | InnoDB | 10 | Compact | 8 | 2048 | 16384 | 0 | 114688 | 0 | NULL | 2019-05-31 16:02:27 | NULL | NULL | utf8_general_ci | NULL | | |
+-------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+


В ней имеется русский текст. Подключаюсь к базе из javaFX, настройки подключения:

Java
1
2
3
4
5
6
jdbc.url=jdbc:mysql://localhost/laborant?zeroDateTimeBehavior=convertToNull
jdbc.username=lab
jdbc.driver=com.mysql.jdbc.Driver
jdbc.password=lablab
jdbc.useUnicode=TRUE
jdbc.characterEncoding=UTF-8
Читается текст нормально, но при обновлении вместо русских букв записываются в базу вопросы

SQL
1
SELECT id, comment FROM EXPERIMENTS;
+-----+-------------------------------------------------------+
| id | comment |
+-----+-------------------------------------------------------+
| 115 | QQ ???? eee??? |
| 116 | Финал Средняя |
| 117 | Финал Тяжелая |
| 118 | Финал покой |
| 119 | Финал средняя |
| 120 | Финал Тяжелая |
| 121 | финал |
| 122 | Финал с изименениями режимов |
+-----+-------------------------------------------------------+

(вот в данном случае была изменена строка с id 115)

Есть подозрение, что, несмотря на указание использовать UTF jdbc все равно сохраняет в другой кодировке. Как это можно проверить? Или какая-то иная причина? Похожих тем нашел немало, но почти все они сводятся к тому, что надо указать кодировку для JDBC. Мне это не помогло
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.06.2019, 13:05
Ответы с готовыми решениями:

Struts, MySQL проблема с записью русских букв.
Доброго дне Всем! Проблема вот такая, не могу записать в базу русские букы, записываются кроказябры. Читать русские буквы могу без...

Проблема русских символов в апплете.
pri izvle4enii stringa iz TextField string polu4aet zna4eniai ?????? kak mne polu4it' normal'nii russkii kod

Проблема с отображением русских символов
Уважаемые господа, помогите решить следующую проблему: есть wmf-файл, который отображается Java апплетом. wmf-файл в кодировке win-1251,...

2
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
07.06.2019, 13:10
1) сам текст в какой кодировке?
2) Несоответствие символов в бд после переноса данных используя preparedStatement
1
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 8
07.06.2019, 18:14  [ТС]
Как ни странно, но оказалось что CP1251.
Хотя совершенно непонятно почему и как сделать так чтобы был UTF (ну кроме того, что конвертировать)

Добавлено через 15 минут
Java
1
2
3
4
5
   System.out.println("Default Locale:   " + Locale.getDefault());
      System.out.println("Default Charset:  " + Charset.defaultCharset());
      System.out.println("file.encoding;    " + System.getProperty("file.encoding"));
      System.out.println("sun.jnu.encoding: " + System.getProperty("sun.jnu.encoding"));
      System.out.println("Default Encoding: " + getEncoding());
Default Locale: ru_RU
Default Charset: UTF-8
file.encoding; UTF-8
sun.jnu.encoding: UTF-8
Default Encoding: UTF8


Кодировка приложения UTF-8, но введенный текст в CP1251. Как вообще такое может быть?

Добавлено через 1 час 22 минуты
Нет, моя ошибка. Текст в UTF8

Добавлено через 3 часа 5 минут
ПРоблема решена
нужно было указать utf вот так

Java
1
jdbc.url=jdbc:mysql://localhost/laborant?zeroDateTimeBehavior=convertToNull&useUnicode=yes&characterEncoding=UTF-8
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.06.2019, 18:14
Помогаю со студенческими работами здесь

Проблема с записью значение записи из JTable в базу данных
На форме имеется jTable, значения в который добавляются из базы по нажатии кнопки (добавление работает, с базы считывает) В базе такие...

Вопросительные знаки вместо русских букв
привет --- я скачал скрипт но у меня абра кадабра на сайте http://tristmegistshop.besaba.com/index.php ...

Проблема с записью в MySQL информации на русском языке из SWING-приложения...
Нужна помощь. Срочно. Проблема: Нужно руссифицировать приложение, написанное на SWING. Работать это все должно под Windows. Все...

Печать русских букв при запуске в консоли
Пытаюсь вывести приглашение на русском - System.out.println("\n\nВведите массив : "); В eclipse выводит нормально, в консоли - нет. ...

проблема с кодировкой русских букв
Здравствуйте! Подскажите пожалуйста как решить проблему: есть файлик *.txt в нем текст как на русском так и на английском читаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru