搞懂oracle字符集作为一个ORACLEDBA,在工作中会经常处理由于字符集产生的一些问题
但是当真正想写一些这方面的东西时,却突然又没有了头绪
发了半天呆,还是决定用两个字符集方面的例子作为切入点,倒不失为一个头绪,说不定在实验的过程中,问题就会一个接着一个的浮现出来
现在,让我们切入正题
我用的数据库是 oracle10
3,数据库字符集是 al32utf8
客户端就是同一台机器的windowsxp
下面是演示的例子:SQL>droptabletestpurge;Tabledropped
SQL>createtabletest(col1number(1),col2varchar2(10));Tablecreated
--session1设置客户端字符集为zhs16gbk(修改注册表 nls_lang项的characterset为zhs16gbk) 向表中插入两个中文字符
SQL>insertintotestvalues(1,'中国');--1为session1的标记1rowcreated
SQL>commit;Commitcomplete
--session2设置客户端字符集al32utf8(修改注册表 nls_lang项的characterset为al32utf8),与数据库字符集相同
向表中插入两个和 session1相同的中文字符
SQL>insertintotestvalues(2,'中国');--2为session2的标记1rowcreated
SQL>commit;Commitcomplete
--session1SQL>select*fromtest;COL1COL2------------------------------2
1中国--session2SQL>select*fromtest;COL1