本文转自oracle官方博客, 很多客户的数据库的字符集是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)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。