oracle 12c 生僻字 怎么处理?

客户端字符集:AMERICAN_AMERICA.AL32UTF8
生僻字:㙍   unicode 364d
按网上的办法
insert into Tmp_csy  values('吴'||utl_raw.cast_to_nvarchar2('364d')||'业 ','吴'||utl_raw.cast_to_nvarchar2('364d')||'业')
转 unicode varchar2 和nvarchar2 都ok
这种临时修复还可以但是 如果生僻字不固定 就没法了
但有没有一劳永逸的办法 ,望各位大佬帮忙

参与9

3同行回答

宗鬼宗鬼dba--
问题解决了  N'陈㙍莎莎'   字符串前面家上 N 就可以 了显示全部

问题解决了  N'陈㙍莎莎'   

字符串前面家上 N 就可以 了

收起
软件开发 · 2023-03-13
浏览891

ChatGPT 回答

针对生僻字的问题,可以考虑使用Unicode字符集,因为Unicode字符集包含了世界上几乎所有的字符,包括生僻字。而且,Oracle12c已经支持Unicode字符集。

对于客户端字符集,可以考虑使用UTF-8字符集,因为UTF-8是一种可变长度的Unicode编码,可以表示Unicode字符集中的所有字符。而且,UTF-8在互联网上广泛使用,也是Oracle12c默认的字符集。

如果需要在Oracle中存储生僻字,可以使用NVARCHAR2数据类型,因为NVARCHAR2可以存储Unicode字符集中的所有字符,包括生僻字。同时,可以在数据库中设置字符集为AL32UTF8,以支持UTF-8字符集。

如果需要在应用程序中处理生僻字,可以使用Java等编程语言的Unicode编码方式,将生僻字转换为Unicode编码,然后存储到数据库中。在读取数据时,可以将Unicode编码转换为字符形式,以显示生僻字。

总之,使用Unicode字符集和UTF-8字符集,以及NVARCHAR2数据类型,可以解决生僻字的存储和处理问题。

提问者

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2023-03-13
  • 关注会员:3 人
  • 问题浏览:1633
  • 最近回答:2023-06-02
  • X社区推广