Oracle пишут японские символы - PullRequest
0 голосов
/ 03 сентября 2018

В настоящее время мы используем Oracle 12, и мы не можем вставить японские символы в таблицу со столбцом с типом NVARCHAR2 (255 CHAR), в результате всегда получается « ¿¿¿¿¿¿». Мы пытались вставить данные, используя SQL Developper, Java Program и даже стандартный процесс, но мы всегда получаем один и тот же результат.

select * from nls_database_parameters;


NLS_RDBMS_VERSION   12.2.0.1.0
NLS_NCHAR_CONV_EXCP FALSE
NLS_LENGTH_SEMANTICS    BYTE
NLS_COMP    BINARY
NLS_DUAL_CURRENCY   $
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_TIME_TZ_FORMAT  HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_FORMAT    DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_SORT    BINARY
NLS_DATE_LANGUAGE   AMERICAN
NLS_DATE_FORMAT DD-MON-RR
NLS_CALENDAR    GREGORIAN
NLS_NUMERIC_CHARACTERS  .,
NLS_NCHAR_CHARACTERSET  AL16UTF16
NLS_CHARACTERSET    WE8DEC
NLS_ISO_CURRENCY    AMERICA
NLS_CURRENCY    $
NLS_TERRITORY   AMERICA
NLS_LANGUAGE    AMERICAN

РЕДАКТИРОВАТЬ 1: я не могу просто изменить параметры базы данных, администратор базы данных не хочет.

1 Ответ

0 голосов
/ 04 сентября 2018

Я исправил проблему, посмотрев на драйвер Oracle, я нашел параметр, который был отключен по умолчанию: https://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleDriver.html

После установки значения true во время запуска приложения, ему удается сохранить японские символы в базе данных: -Doracle.jdbc.defaultNChar = true

...