Почему Hibernate saveOrUpdate не работает для арабских данных? - PullRequest
0 голосов
/ 17 декабря 2018

Когда я сохраняю арабскую строку, результат в базе данных MySQL просто ?.

В структуре таблицы кодировка столбца UTF-8, есть другие арабские данные, которыеозначает, что проблема исходит от Hibernate 4.3, когда я посмотрел документацию Developer Guide есть только одна тема, связанная с кодировкой, UTF, арабский .., они предложили поставить аннотацию @Nationalized, я сделал это, и это бесполезно.

При отладке арабская строка все еще находится в объекте до тех пор, пока:

session.saveOrUpdate(myObj);

После этого я не знаю, что произошло.

Я работаю над NetbeansСпасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Вы должны указать кодировку для схемы и таблицы, просто измените кодировку базы данных по умолчанию, основываясь на следующей ссылке:

Измените набор символов MySQL по умолчанию на UTF-8 в my.cnf?

если вы прочитаете эту ссылку и измените настройку, вы должны:

first: перезапустить mysql или любой другой подобный (systemctl start mysql)

секунда: удалите свою схему, базу данных и таблицы, а затем заново создайте ее.

Эта работа для персидского языка.

0 голосов
/ 17 декабря 2018

Попробуйте указать строку ниже в источнике данных, указав useUnicode и characterEncoding.

jdbc:mysql://localhost:3306/dbname?useUnicode=yes&characterEncoding=UTF-8

Если вы используете весеннюю загрузку, укажите строку ниже в файле application.properties.

spring.datasource.connectionProperties=useUnicode=true;characterEncoding=utf-8;

См. use-useunicode-yes-Characterencoding-utf-8

...