Вот мой сценарий. Я сохраняю кучу строк, содержащих азиатские символы в MySQL, используя Hibernate. Эти строки записаны в столбцах varbinary. Все отлично работает во время операции сохранения. БД содержит правильные значения (последовательность байтов). Если я запрашиваю (снова используя Hibernate) для сохраненных строк, я получаю правильные результаты. Но когда Hibernate заполняет сущность, которой принадлежат строки, значениями из базы данных, я получаю значения, отличные от тех, которые я использовал в запросе, который их получил. Вместо получения правильных значений я получаю кучу заменяющих символов FFFD.
Например: если я сохраню «하늘» в БД, а затем запрошу его, результирующая строка будет \ uFFFD \ uFFFD \ uFFFD \ uFFFD \ uFFFD \ uFFFD.
- Соединение с БД имеет следующие параметры: useUnicode = true & characterEncoding = UTF-8,
Я пытался использовать следующие конфигурации для Hibernate, но это не решило проблему:
- connection.useUnicode = true
- connection.characterEncoding = UTF-8
Кстати, все это прекрасно работает, если столбцы MySQL имеют тип varchar.
Что мне не хватает? Какие-либо предложения?
Спасибо