这时服务器端和客户端的字符集不一致引起的
一、问题描述
SQL Plus WorkSheet是一个窗口图形界面的SQL语句编辑器,对于那些喜欢窗口界面而不喜欢字符界面的用户,该工具相对SQL/PLUS受到了很大的欢迎。但从Oracle 8i以后,如果安装Oracle 8i时选取的是别于英语的字符集,对于我们中国,通常会选取简体中文字符集(ZHS16GBK),安装成功后,运行SQL Plus WorkSheet程序,会出现所有的中文显示以及查询结果均为乱码的情况。
二、问题分析
最初出现该问题,首先怀疑就是安装时字符集设置有问题,也就是说没有设置正确的简体中文字符集。首先检查数据库字符集,在 SQL/PLUS中,运行下面的SQL语句,检查所连接数据库的字符集:
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
三、解决方案
到注册表的以下键目录下修改就可以:
HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/NLS_LANG
将它的AMERICAN_AMERICA.US7ASCII
修改成SIMPLIFIED CHINESE_CHINA.ZHS16GBK
就行了,记得将软件重新启一下
一、问题描述
SQL Plus WorkSheet是一个窗口图形界面的SQL语句编辑器,对于那些喜欢窗口界面而不喜欢字符界面的用户,该工具相对SQL/PLUS受到了很大的欢迎。但从Oracle 8i以后,如果安装Oracle 8i时选取的是别于英语的字符集,对于我们中国,通常会选取简体中文字符集(ZHS16GBK),安装成功后,运行SQL Plus WorkSheet程序,会出现所有的中文显示以及查询结果均为乱码的情况。
二、问题分析
最初出现该问题,首先怀疑就是安装时字符集设置有问题,也就是说没有设置正确的简体中文字符集。首先检查数据库字符集,在 SQL/PLUS中,运行下面的SQL语句,检查所连接数据库的字符集:
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
三、解决方案
到注册表的以下键目录下修改就可以:
HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/NLS_LANG
将它的AMERICAN_AMERICA.US7ASCII
修改成SIMPLIFIED CHINESE_CHINA.ZHS16GBK
就行了,记得将软件重新启一下