记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

很多客户的数据库的字符集是ZHS16GBK ,但是有些特殊的生僻字在这个字符集里并不包括,下面就以䶮㼆为例,说明如何把这2个字符插入到数据库。

1.说明:
数据库的nls_characterset是ZHS16GBK, NLS_NCHAR_CHARACTERSET是AL16UTF16. 
插入数据使用的工具是sqldeveloper,对应的版本是4.2.0.17.089

2.查询这2个字的Unicode编码
互联网上有很多Unicode相关的网站,通过相关网站可以查找到这2个字对应的Unicode编码:
䶮 Unicode编码:4DAE
㼆 Unicode编码:3F06

3.创建测试表
create table test(name nvarchar2(30));

4.插入数据
SQL>insert into test values(N'䶮㼆');
--必须加字母"N"作为前缀,否则插入的数据依然乱码!
SQL>commit;

5.验证数据
SQL> select name,dump(name,1016) b from test;
NAME       B
---------- -----------------------------------------------------
䶮㼆      Typ=1 Len=4 CharacterSet=AL16UTF16: 4d,ae,3f,6

䶮㼆这2个字已经成功的插入表中并能正确显示,对应的Unicode编码是4d,ae,3f,6,跟第一步查询的结果是一致的。

相关参考:
The National Character Set ( NLS_NCHAR_CHARACTERSET ) in Oracle 9i, 10g , 11g and 12c (Doc ID 276914.1)



转载请标明出处【ORACLE数据库中如何插入生僻字】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论