自用Oracle字符集总结

关于Oracle字符集简单总结
只是简单总结了下视频和前辈的总结加了一点自己的理解,有的地方理解不到位,欢迎指正
参考视频附地址:https://www.bilibili.com/video/av23893834/?p=42
参考附地址:https://blog.csdn.net/tianhaichuang/article/details/28238165

小白出发点是安装Oracle配置环境变量引发的一系列问题

1.字符集是字符和编码(123abc)集合的表,计算机将字符编译成计算机认识的二进制
为什么要用字符:计算机只认识二进制,类似新华字典多少页是那个字
2.系统有自己的字符集
US7ASCII英文
ZHS16GBK汉字
UTF8多国文字
AL32UTF8高于UTF8
3.软件应用也要用到字符集
a.一类软件不自带字符集就和借用当前计算机的字符集。比如:Plsql
b.一类软件自带自己的字符集就会调用自己的。比如:Oracle
在这里插入图片描述
客户端utf8 参数utf8 oraclegbk 存一个中国 客户端显示正常 oracle存的是gbk字符集格式的数据在库里边
客户端utf8 参数gbk oraclegbk 存一个你好 客户端显示正常 oracle存的是utf8字符集格式的数据在库里边
客户端utf8 参数gbk oraclegbk 客户端显示 中国乱码 你好正常
oracle问客户端你是什么编码如果不一样我给你转,结果参数说我是gbk
客户端以为oracle给他传的是utf8字符集直接展示出来了,结果乱码

关于注册表修改NLS_LANG与环境变量修改NLS_LANG区别
看了好多前辈的资料大概意思系统环境变量优先级大于注册表
Windows下为HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEx\NLS_LANG
如果有多个oracle产品,那么HOMEx可能就有多个,比如HOME0,HOME1…一般都有NLS_LANG这个注册项。
在windows下也可以把NLS_LANG设置成环境变量,但这样做的比较少,一般还是在注册表里设置
http://www.docin.com/p-479563440.html
个人理解前提有多个oracle产品比如HOME0,HOME1.
如果比如HOME0修改注册表则只影响比如HOME0,对其他oracle不影响
如果修改坏境变量则所有oracle都会影响,因为刚开始研究也未遇到这种情况未做验证不知道对错,请大佬修正

虽然总结了但还是有点晕以后慢慢研究

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值