龙空技术网

一个""字引发的故事

希嘉工程师 112

前言:

目前看官们对“oracleutf8汉字”都比较关注,你们都需要学习一些“oracleutf8汉字”的相关资讯。那么小编也在网络上搜集了一些有关“oracleutf8汉字””的相关资讯,希望小伙伴们能喜欢,朋友们一起来学习一下吧!

在高校数据中心中,对于字符集的设置尤为重要,由于大部分业务系统的数据库字符集设置都较为随意,所以在一些生僻字的存储上会有较大隐患出现问题。

例如""字,我们发现了一个有意思的现象,如果采用WIN10自带的微软拼音输入法输入这个字,且数据库字符集为GBK的话,此字可以正确显示。

但是如果采用搜狗输入法,输入此字,""字却不能正确显示

通过这个现象,可以发现在数据录入的时候,虽然数据库的字符集都为GBK,但是不同的输入法输入的数据,会有不同。但是不管是哪一种输入法输入的数据,AL32UTF8字符集都可以正确显示,所以我们建议数仓建设时,推荐使用AL32UTF8字符集。 那么AL32UTF8和UTF8有什么区别呢?Oracle的UTF8字符集由来已久,至少在8的时候就已经存在了,而对应的是UNICODE 3.0。而AL32UTF8字符集是9i才出现的,其对应的是UNICODE 5.0。这两种字符集的区别在于,UNICODE 5.0与3.0相比,又增加了一些新的补充字符。但是在实际当中,使用到这些新增字符的可能性非常小,因此绝大部分情况下,选择UTF8也是足够的。AL32UTF8字符集是oracle 9i才出现的,那么对于oracle 9i以后的版本访问没有任何问题,但是对于oracle 8i及以前的版本,则不认识这个字符集。这就使得oracle 8i及更低版本的客户端在访问oracle 9i以上AL32UTF8的数据库时,会碰到各种各样的问题。

因此,如果数据库版本都在oracle 9i及其以上,不需要考虑ORACLE8的数据库,建议使用AL32UTF8字符集,它采用的Unicode标准要比UTF8采用的Unicode标准更新,支持的字符也更多一些。如果要考虑ORACLE8数据库,建议使用UTF8字符集,它的兼容性好,在ORACLE8及8I数据库上使用AL32UTF8字符集容易出现问题。

标签: #oracleutf8汉字