甲骨文写日语字符
Oracle write Japanese characters
我们目前使用的是 Oracle 12,我们无法将日文字符插入到具有 NVARCHAR2(255 CHAR) 类型列的 table 中,结果始终为“¿¿¿¿ ¿¿我们尝试使用 SQL 开发人员、Java 程序甚至存储过程来插入数据,但我们总是得到相同的结果。
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:我不能只更改数据库参数,DBA 不想。
我解决了这个问题,在查看 Oracle 驱动程序后,我发现了一个默认情况下禁用的选项:https://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleDriver.html
在启动应用程序时将其设置为 true 后,它设法将日语字符存储在数据库中:-Doracle.jdbc.defaultNChar=true
我们目前使用的是 Oracle 12,我们无法将日文字符插入到具有 NVARCHAR2(255 CHAR) 类型列的 table 中,结果始终为“¿¿¿¿ ¿¿我们尝试使用 SQL 开发人员、Java 程序甚至存储过程来插入数据,但我们总是得到相同的结果。
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:我不能只更改数据库参数,DBA 不想。
我解决了这个问题,在查看 Oracle 驱动程序后,我发现了一个默认情况下禁用的选项:https://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleDriver.html
在启动应用程序时将其设置为 true 后,它设法将日语字符存储在数据库中:-Doracle.jdbc.defaultNChar=true