您的位置:首页 > 数据库 > Oracle

oracle生僻字解决方案

2019-06-26 11:25 1196 查看

1.先登陆用户查看当前字符集
select userenv(‘language’) from dual;

2.建立测试表。设置2个字段:分别为varchar2和nvarchar2

nvarchar2会比varchar2存的中文多一些
3.插入测试数据。
insert into TEST_CHARACTE_SET(NAME,NAME1) VALUES(‘㱔’,‘㱔’);
SELECT * FROM TEST_CHARACTE_SET;
发现这种方式不行,
那就换一种方式,先将生僻字转为Unicode编码 链接http://www.bejson.com/convert/unicode_chinese/
㱔字的unicode编码为:\u3c54
然后,从dual中查询结果:
1、查询varchar2的结果:
select utl_raw.cast_to_varchar2(‘3c54’) from dual;

2、查询nvarchar2的结果:
select utl_raw.cast_to_nvarchar2(‘3c54’) from dual;

可见,实质上,在nvarchar2才能正确存储“㱔”字
最后,再一次进行插入数据:多个生僻字可是分解处理、实现如下
insert into TEST_CHARACTE_SET(name,name1) values(‘我是中国人’||(select utl_raw.cast_to_varchar2(‘3c54’) from dual),‘我是中国人’||(select utl_raw.cast_to_nvarchar2(‘3c54’) from dual));

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: