2009-11-17 4 views
2

Im пытается вставить данные с японскими символами в базу данных оракула. Все, что хранится в базе данных, - это набор перевернутых вопросительных знаков. HOw, я разрешаю этоHibernate Encoding

+1

Вы уверены, что у вас есть правильный набор символов базы данных? – bmargulies

+0

да. когда я печатаю непосредственно через pl/sql и сохраняю данные nihongo, он успешно сохраняется. но когда я использую мое приложение с hibernate, он сохраняет инвертированные вопросительные знаки – cedric

ответ

3

См. http://www.errcode.net/blogs/?p=6, чтобы определить кодировку вашей базы данных. В настоящее время я использую Oracle с Hibernate в UTF-8 без дополнительных конфигураций.

Возможно, вы захотите проверить правильность кодирования входных значений. Например, если у вас есть веб-приложение, проверьте кодировку параметра запроса (или установите его с помощью request.setCharacterEncoding("utf-8"))

+0

Я использую базу данных oracle для спящего режима. Текущая кодировка моей базы данных - WE8MSWIN1252. в любом случае я могу успешно сохранить персонажи нихонго, но через PL/SQL. Значения, которые я вставлял, тоже не из форм страницы. Я изначально жестко закодировал значения в своем DAO, чтобы проверить, есть ли проблема с кодировкой запроса или с самим спящим режимом. – cedric

+0

Ну, вот ваша проблема - измените кодировку на UTF-8 (не 1252). Тот факт, что он работал с какого-то места, не означает, что настройки верны. И жестко закодированные значения зависят от кодировки java-файла, или от кодирования VM - слишком много переменных для проверки. – Bozho

+0

Whew .. После недели устранения неполадок. Это решило мою проблему. Я создал новый экземпляр db с использованием набора символов AL32UTF8. Tnx .. :) – cedric