我这样插入:
insert into s_test values('Länsförsäkringar');
取回这个:
select * from s_test;
L�nsf�rs�kringar
这里 是替换char \ 003F
期望:
select * from s_test;
Länsförsäkringar
相关的NLS参数:
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CHARACTERSET US7ASCII
NLS_LENGTH_SEMANTICS BYTE
NLS_RDBMS_VERSION 11.2.0.3.0
表:
CREATE TABLE "S_TEST"
( "COL1" NVARCHAR2(100) ) ;
如何将瑞典语字符串插入Oracle NVARCHAR2列类型?
答案 0 :(得分:1)
使用N
:
insert into s_test values(N'Länsförsäkringar');
https://docs.oracle.com/database/121/SQLRF/sql_elements003.htm#SQLRF00218
文本文字或字符串的语法如下:
其中N或n使用国家字符集指定文字 (NCHAR或NVARCHAR2数据)。默认情况下,使用此输入的文本 符号被翻译成国家字符集 服务器使用时的数据库字符集。为了避免潜力 在文本文字转换到数据库期间丢失数据 字符集,设置环境变量ORA_NCHAR_LITERAL_REPLACE 为真。这样做是透明地替换内部和 保留SQL处理的文本文字。