Oracle 生僻字乱码问题
就一般情况来说,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 生僻字乱码问题相关推荐
- oracle 生僻字 转码,Oracle 生僻字乱码解决方案
Oracle生僻字乱码解决方案 ""(此+夕)[suǒ]字乱码,无法正常显示(变成问号); 生僻字""(此+夕)(suo)在ZHS16GBK字符集下默认无法正常 ...
- 解决Oracle存储生僻字、oracle生僻字,oracle偏僻字、数据库生僻字,数据库偏僻字
处理前,乱码,如下图所示 通过以下方法处理: -- 解决Oracle存储生僻字.oracle生僻字,oracle偏僻字.数据库生僻字,数据库偏僻字 -- 只能保证业务系统能正常读取生僻字-- 第一步: ...
- 解决Mybatis3.3中NVARCHAR2生僻字乱码
文章目录 1. 解决Mybatis3.3中NVARCHAR2生僻字乱码 1.1. 注意 1.2. 解决方法 1.2.1. 第一步.数据库的varchar2字段修改为nvarchar2 1.2.2. 第 ...
- sqlserver中文生僻字乱码问题
sqlserver中文生僻字乱码问题解决 场景:前端输入生僻字,e.g. 㙍.㮾,存入到数据库为乱码(㙍/-). 解决:修改会存生僻字的字段(一般地址字段)的数据类型为nvarchar,在插入或更新s ...
- jsoup 生僻字乱码问题解决
jsoup 简介 Java 程序在解析 HTML 文档时,相信大家都接触过 htmlparser 这个开源项目,我曾经在 IBM DW 上发表过两篇关于 htmlparser 的文章,分别是:从 HT ...
- 关于生僻字乱码的问题
这个事情说来话长,先从2010年之前的各种上户口问题,以及各种民生系统问题说起吧. 那个时候总是出现一些行为,说的是,谁的名字有生僻字上不了户口,用其他的字代替了, 出现了很多那种在族谱上是一个名字, ...
- was中奇怪的生僻字乱码案例
问题描述 这个今天早上提供的一个生产问题.大体是说,改资料的时候,有个客户的名字有生僻字,叫"刘",保存之后就乱码了,变成"刘?" 分析过程 乱码需要确认数据 ...
- pl/sql developer oracle生僻字显示问题
一.问题由来 随着国标GB18030的推行,各行各业都在如火如荼的落实改造.自己在工作中也发现很多问题,查阅了很多资料都未解决自己的问题.经过慢慢摸索,对生僻字经常出现的问题进行总结,现 ...
- 生僻字html乱码,Tomcat 5.5.X及以上版本的生僻字乱码解决办法
软件环境:Tomcat5.5.X 问题描述: 1)一般的汉字正常,如:中国,任务,管理. 2)生僻字出现乱码.如:喆,璟. 解决过程: 1.前言.在Tomcat4中,GET和POST使用相同的处理方式 ...
最新文章
- 【BZOJ2157】旅游
- linux-进程的替换exec函数族
- 最常用的决策树算法(三):XGBoost 和 LightGBM
- hbase报错:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
- ES6-使用 super 关键字访问原型对象
- Asp.Net Web API(四)
- linux网络子系统分析(三)—— INET连接建立API分析之bind listen
- Atitit 可视化技术体系题 目录 1. 1. 可视化分类	1	1 1.1. 1.1. 层次可视化 金字塔等 层次降为3层归类可视化	1	1 1.2. 1.2. 高层可视化 鸟瞰可视化	1	1 1
- 异常详细信息: System.Web.HttpException: 服务器太忙
- SPSS22.0简体中文破解版(32位/64位)使用方法
- c#二次开发明华URF-R330读写器读写问题解决方案
- 计算机配置动态硬盘,【转】基本磁盘动态磁盘GTP磁盘MBR磁盘RAID阵列磁盘的区别(一)...
- IT服务公司经理专栏:小公司管理(3)
- stm32h7内存分配_【STM32H7教程】第25章 STM32H7的TCM,SRAM等五塊內存基礎知識
- JAVA:实现求StandardDeviation标准差算法(附完整源码)
- linux下查找文件并按时间顺序排序的方法
- (raspberry、bananapi)Archlinux 无法安装yaourt解决办法-----手工编译(不难)(适用于package-query找不到)
- 中国月子中心行业发展形势展望及投资前景预测报告2021年版
- (一)mplayer与ffmpeg的调用过程
- idea输出中文乱码
热门文章
- 隧道保活超时或协商超时_丰巢快递柜超时收费的法律分析
- 03-stable diffusion国风小姐姐
- 【系】微信小程序云开发实战坚果商城-商城项目搭建
- 高层次综合综述:FPGA HLS Today Successes, Challenges, and Opportunities
- 20220624 登录和代理ip
- SAP 折旧在13-16调整期
- java如何调用pyramid函数_讲解:ICM、Pyramid、JAVA,PYTHON、PYTHON ,C++SPSS| Statis
- 在线传输文件的方法有哪些?镭速云帮您领略最快文件传输的攻略!
- 【论文】Saliency Detection: A Spectral Residual Approach阅读笔记
- 推土距离, Wasserstein distance