Hibernate Oracle и кодировка символов - PullRequest
5 голосов
/ 04 августа 2009

В данный момент у меня проблема с тем, что в моей среде тестирования не сохраняется символ торговой марки "™" в базе данных. Когда я ввожу данные формы, затем отправляю их, я вижу, что на стороне сервера запрос имеет правильно закодированный символ ™, но затем при вызове метода hibernate "saveOrUpdate ()" данные в таблица отображается в виде перевернутого вопросительного знака.

Я использую SqlDeveloper для проверки таблицы, и я могу вручную изменить символ на ™, вставив непосредственно в строку, затем зафиксировав, и это работает.

Итак, я сделал предположение, что постоянные методы гибернации не работают правильно.

Я в недоумении, правда, я просто не знаю, что попробовать, я установил:

<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">utf-8</property>

свойств в конфигурационном файле, не повезло.

Мои столбцы в таблицах - это NVARCHAR2 (400 CHAR) (хотя изначально они были просто VARCHAR2, но я изменил их во время отладки этой проблемы).

Любая помощь здесь очень ценится.

Mark

1 Ответ

6 голосов
/ 04 августа 2009

Хорошо, получается, что мне нужно было установить для свойства соединения defaultNChar значение true .

Я сделал это через файл контекста для моего приложения в Tomcat.

Статья, которая просветила меня, была здесь .

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