pl/sql developer oracle生僻字显示问题
一、问题由来
随着国标GB18030的推行,各行各业都在如火如荼的落实改造。自己在工作中也发现很多问题,查阅了很多资料都未解决自己的问题。经过慢慢摸索,对生僻字经常出现的问题进行总结,现分享如下。
二、问题描述
1. oracle存储不了生僻字。
2. 在PL/SQL Developer 中输入生僻字时,该生僻字无法正常显示。
3. pl/sql能录入能显示,通过jdbc不能显示。
4. jdbc能录入能显示,通过pl/sql不能显示。
三、原因
1.对于数据库而言,不区分什么生僻字,它仅仅是存储一堆的字节而已。能否存储生僻字主要是看以下几个方面:
a.数据库自身设置的字符集(该字符集会影响jdbc或odbc驱动与服务器的传输编码,不像mysql那样可以指定传输编码。这个没有找到相关资料辅佐,有兴趣可以抓包验证),这里面有两个关键的参数,一个是针对varchar2,一个是针对nvarchar2,这两个的区别可自行百度,资料比较多。
如图所示,我自己的数据库varchar2类型我设置的是AL32UTF8(all language 32位即4个字节 utf-8编码)。nvarchar2我也是用的utf-8。utf8和gbk的区别这儿也不做描述,百度资料很多。这儿可以看到我的数据库是大字符集的,能存储生僻字。
b.客户端的字符集,这个可通过环境变量或注册表等修改(环境变量名为NLS_LANG,不会修改可自行百度)。
如图,我的客户端也是使用utf-8编码。网上的很多oracle显示中文乱码的问题差不多就到这儿了,确定了这两步差不多就可以解决中文乱码问题了。但是现在要说的是生僻字,为啥一会儿能显示一会儿又不能显示让人很迷惑,下面一一讲解。
2.数据库能存储生僻字后,想着插入一个生僻字来做测试,但是pl/sql却不能显示该生僻字,这个原因首先取决于你有没有安装能显示相关生僻字的字库(目前市面的大多字库都不能显示生僻字),其次是pl/sql工具要选择生僻字的字库,这样在pl/sql的编辑界面和结果界面才能显示生僻字。
3.设计了一张varchar2字段的表,pl/sql能插入和显示生僻字,但是程序(jdbc或odbc)读取不到该字。该字“
pl/sql developer oracle生僻字显示问题相关推荐
- oracle 前导列_通过 PL/SQL Developer (Oracle)-数据库(26)
本篇文章介绍了跟SQL语句性能提升有关的执行计划,工作时间长了,或者说高手的进阶途径之一,就是如何能够在数据量很大的情况下,数据库的查询效率还能保持良好的性能. 感兴趣的朋友,可以收藏这篇文章哦,未来 ...
- pl sql developer中的CnPlugin插件,sql代码自动补全提示,批量添加单引号
一.安装 使用pl sql developer的版本7以上,下载CnPlugin插件,文件解压缩后,将里面的CnPlugin.dll和CnPlugin文件夹放到你的pl sql的安装路径中的PlugI ...
- pl/sql developer 设置oracle的date类型默认显示样式
oracle里默认的date显示样式: 我的是汉化过的: 进入后,点击工具->首选项->日期/时间设置即可: 设置后在pl/sql developer中查看: 英文版的操作步骤: Tool ...
- oracle查询数据都是问号,Oracle数据库PL/SQL Developer查询结果显示问号乱码的解决方法...
PL SQL Developer,查询结果中的中文变成了一堆问号,SQL语句中的中文被提示invalid character,不能识别. 解决方法: 执行,select userenv('langua ...
- pl sql如何调试oracle存储过程,PL/SQL Developer中调试oracle的存储过程
作者:iamlaosong 唉,真土,之前用Toad,1直用dbms_output.put_line调试存储进程,只觉得不方便,用上PL/SQL Developer后,习惯性的还是用这个方法,人都是有 ...
- 64位WINDOWS 使用PL SQL DEVELOPER 连接ORACLE 出错问题解决
问题: 开始配置好后,执行以下代码: 在PL SQL DEVELOPER 查询 ID A DUTY ------------------------------ ...
- oracle改字体大小_集成开发环境PL/SQL Developer教程:设置行号和修改字体大小
PL/SQL Developer是一个集成开发环境,它专门针对Oracle数据库的存储程序单元的开发所用.PL/SQL开发者在开发Oracle应用程序的时候注重于开发工具简单易用,代码简洁和开发效率高 ...
- 本机不安装Oracle客户端,使用PL/SQL Developer和 Instant Client 工具包连接oracle 11g远程数据库
1,先到Oracle网站下载Instant Client : http://www.oracle.com/technology/global/cn/software/tech/oci/instantc ...
- PL/SQL developer连接oracle出现“ORA-12154:TNS:could not resolve the connect identifier specified”问题的解决
PL/SQL developer连接oracle出现"ORA-12154:TNS:could not resolve the connect identifier specified&quo ...
最新文章
- [Server] 服务器配置SSH登录邮件通知
- Cisco Catalyst 2960系列交换机资料
- 大型网站架构系列:分布式消息队列
- 温州大学《深度学习》课程课件(十、人脸识别与神经风格迁移)
- cp命令的编写——浅谈系统调用
- [react] React组件的构造函数有什么作用?
- 【2020牛客寒假基础算法训练营】第五场总结
- 使用BeautifulSoup爬取“0daydown”网站的信息(1)
- 【光学】基于matlab圆孔菲涅尔衍射【含Matlab源码 522期】
- java jdk9_jdk9下载-jdk9下载9.0.4 官方最新版-西西软件下载
- 人脑意识转入量子计算机,意识的产生 说明人类大脑可能是台高度发达的量子计算机!...
- 【wps表格】重点标识折线图上的某个数据点
- 帮助台与服务台有何区别,你知道吗?
- 手把手教你建立私人数据检索库(二)
- Local declaration of 'XXX' hides instance variable
- mysql 1213
- android 华为mate 获取定位权限,【严重安全问题】开启了定位权限,但是软件还是没权限...
- 基于s32k146的IO口模拟串口
- python程序段的基本结构_python3 第三章 - 程序的基本结构
- 【火同学】OPencv学习笔记——滑动条的创建和使用