就一般情况来说,Oracle存储中英文的字段用varchar2类型就可以了,但有些时候,遇到生僻字就不行了。

需求描述: 在默认字符集环境下,实现Oracle储存生僻字: 㛃、䶮.....(使用nvarchar2字段类型实现,以“㛃”为代表进行测试)

1.查看当前使用的字符集 。
    select userenv('language') from dual;

一般来说,在安装Oracle数据库的时候,字符集设置选择的是使用默认值,也就是 ZHS16GBK

2.建立测试表。


varchar2  跟 nvarchar2 区别不大,但是在存放中文的时候,nvarchar2会比varchar2多一点。

3.插入测试数据。


显而易见,这两种类型都行不通了。然而,我们可以换一下插入方法

首先,把生僻字转换为Unicode。链接http://www.bejson.com/convert/unicode_chinese/

"㛃" 转为Unicode为 "\u36c3"(注意: \u 是Unicode的转义字符,使用的时候要去掉)

然后,从dual中查询结果:

select utl_raw.cast_to_varchar2('36c3') from dual;

select utl_raw.cast_to_nvarchar2('36c3') from dual;

可见,实质上,在nvarchar2才存储了“㛃”字

最后,再一次进行插入数据:

nvarchar2类型的TNAME成功插入了生僻字“㛃”。

4.最后一点。
虽然说这个问题一般在很小的项目下不会经常遇到,但是还是有它存在的意义的。说不定哪一天你录入数据的时候,姓名会带有生僻字,然后惊奇发现数据变成 ? 了,然后,百度谷歌一找,各有各的说法,各有各的方案,然而...实用的?凉凉。作为过来人我觉得我有必要总结一下这个干货吧,希望能帮到有需要的人,欢迎转载,记得带上原文链接就好。

至于有人说通过更改数据库的字符集也可以实现,可以啊,但是这个代价和工作量过分点了吧?万一出现什么差池,后果太美不敢想象。除非在立项初期,考虑十分周到,囊括所有编码的问题,但是,这个,也有点玄。

感谢一下:Oracle 生僻字乱码解决方案_ITPUB博客

Oracle nvchar2和varchar2区别分析 - 张雨田 - 博客园

Oracle 生僻字乱码问题相关推荐

  1. oracle 生僻字 转码,Oracle 生僻字乱码解决方案

    Oracle生僻字乱码解决方案 ""(此+夕)[suǒ]字乱码,无法正常显示(变成问号); 生僻字""(此+夕)(suo)在ZHS16GBK字符集下默认无法正常 ...

  2. 解决Oracle存储生僻字、oracle生僻字,oracle偏僻字、数据库生僻字,数据库偏僻字

    处理前,乱码,如下图所示 通过以下方法处理: -- 解决Oracle存储生僻字.oracle生僻字,oracle偏僻字.数据库生僻字,数据库偏僻字 -- 只能保证业务系统能正常读取生僻字-- 第一步: ...

  3. 解决Mybatis3.3中NVARCHAR2生僻字乱码

    文章目录 1. 解决Mybatis3.3中NVARCHAR2生僻字乱码 1.1. 注意 1.2. 解决方法 1.2.1. 第一步.数据库的varchar2字段修改为nvarchar2 1.2.2. 第 ...

  4. sqlserver中文生僻字乱码问题

    sqlserver中文生僻字乱码问题解决 场景:前端输入生僻字,e.g. 㙍.㮾,存入到数据库为乱码(㙍/-). 解决:修改会存生僻字的字段(一般地址字段)的数据类型为nvarchar,在插入或更新s ...

  5. jsoup 生僻字乱码问题解决

    jsoup 简介 Java 程序在解析 HTML 文档时,相信大家都接触过 htmlparser 这个开源项目,我曾经在 IBM DW 上发表过两篇关于 htmlparser 的文章,分别是:从 HT ...

  6. 关于生僻字乱码的问题

    这个事情说来话长,先从2010年之前的各种上户口问题,以及各种民生系统问题说起吧. 那个时候总是出现一些行为,说的是,谁的名字有生僻字上不了户口,用其他的字代替了, 出现了很多那种在族谱上是一个名字, ...

  7. was中奇怪的生僻字乱码案例

    问题描述 这个今天早上提供的一个生产问题.大体是说,改资料的时候,有个客户的名字有生僻字,叫"刘",保存之后就乱码了,变成"刘?" 分析过程 乱码需要确认数据 ...

  8. pl/sql developer oracle生僻字显示问题

    一.问题由来        随着国标GB18030的推行,各行各业都在如火如荼的落实改造.自己在工作中也发现很多问题,查阅了很多资料都未解决自己的问题.经过慢慢摸索,对生僻字经常出现的问题进行总结,现 ...

  9. 生僻字html乱码,Tomcat 5.5.X及以上版本的生僻字乱码解决办法

    软件环境:Tomcat5.5.X 问题描述: 1)一般的汉字正常,如:中国,任务,管理. 2)生僻字出现乱码.如:喆,璟. 解决过程: 1.前言.在Tomcat4中,GET和POST使用相同的处理方式 ...

最新文章

  1. 【BZOJ2157】旅游
  2. linux-进程的替换exec函数族
  3. 最常用的决策树算法(三):XGBoost 和 LightGBM
  4. hbase报错:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
  5. ES6-使用 super 关键字访问原型对象
  6. Asp.Net Web API(四)
  7. linux网络子系统分析(三)—— INET连接建立API分析之bind listen
  8. Atitit 可视化技术体系题 目录 1. 1. 可视化分类 1 1 1.1. 1.1. 层次可视化 金字塔等 层次降为3层归类可视化 1 1 1.2. 1.2. 高层可视化 鸟瞰可视化 1 1 1
  9. 异常详细信息: System.Web.HttpException: 服务器太忙
  10. SPSS22.0简体中文破解版(32位/64位)使用方法
  11. c#二次开发明华URF-R330读写器读写问题解决方案
  12. 计算机配置动态硬盘,【转】基本磁盘动态磁盘GTP磁盘MBR磁盘RAID阵列磁盘的区别(一)...
  13. IT服务公司经理专栏:小公司管理(3)
  14. stm32h7内存分配_【STM32H7教程】第25章 STM32H7的TCM,SRAM等五塊內存基礎知識
  15. JAVA:实现求StandardDeviation标准差算法(附完整源码)
  16. linux下查找文件并按时间顺序排序的方法
  17. (raspberry、bananapi)Archlinux 无法安装yaourt解决办法-----手工编译(不难)(适用于package-query找不到)
  18. 中国月子中心行业发展形势展望及投资前景预测报告2021年版
  19. (一)mplayer与ffmpeg的调用过程
  20. idea输出中文乱码

热门文章

  1. 隧道保活超时或协商超时_丰巢快递柜超时收费的法律分析
  2. 03-stable diffusion国风小姐姐
  3. 【系】微信小程序云开发实战坚果商城-商城项目搭建
  4. 高层次综合综述:FPGA HLS Today Successes, Challenges, and Opportunities
  5. 20220624 登录和代理ip
  6. SAP 折旧在13-16调整期
  7. java如何调用pyramid函数_讲解:ICM、Pyramid、JAVA,PYTHON、PYTHON ,C++SPSS| Statis
  8. 在线传输文件的方法有哪些?镭速云帮您领略最快文件传输的攻略!
  9. 【论文】Saliency Detection: A Spectral Residual Approach阅读笔记
  10. 推土距离, Wasserstein distance