Oracle DB, Glassfish, Hibernate и кодировка символов - PullRequest
1 голос
/ 03 февраля 2012

У нас есть БД Oracle, использующая UTF-8 (NLS_CHARACTERSET = AL32UTF8).Затем у нас есть приложение J2EE в Glassfish, которое использует Hibernate.

При использовании SQL Plus или SQL Developer мы можем правильно читать и записывать данные, но не можем программно получать специальные символы.

Читая ä мы получаем √§

Глядя на похожие вопросы, я пытался:

  • настройка свойств Hibernate

    <property name="hibernate.connection.characterEncoding" value="utf8" />
    

  • добавление свойства соединения defaultNChar=true в Glassfish

  • добавление свойства соединения defaultNChar через Hibernate

    <property name="hibernate.connection.defaultNChar" value = "true"/>
    
  • установка кодировки на utf8

    <property name="hibernate.connection.charSet" value="utf8" />
    

Но я все еще не могу получить любой символ, который не является базовым ASCII.

Любойнамек на то, что я делаю неправильно?

Редактировать : с get я имею в виду выборку с оператором select.Проверка с помощью отладчика или сравнение с правильной (например, "ä") строкой с утверждением.

Ответы [ 3 ]

1 голос
/ 19 августа 2013

Как обсуждалось в комментариях к исходному вопросу с использованием NVARCAR, и следующая строка, добавленная в файл конфигурации Hibernate, похоже, работает.

<property name="hibernate.connection.defaultNChar">true</property>

Это для меня.

0 голосов
/ 09 февраля 2012

Как указано в комментариях, я понял, что вопрос не имеет смысла, так как на самом деле нет проблем с подключением к БД.Как предложено в мета-дискуссии , я объясняю это как ответ.

0 голосов
/ 06 февраля 2012

Вы ничего не сказали о своем URL соединения из декларации источника данных. Вы пытались установить кодировку в URL-адресе соединения?

JDBC: MySQL: // локальный: 3306 / yourDB useUnicode = истина и characterEncoding = UTF-8

Я не могу проверить оракул, но для mysql это решает проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...