共计 733 个字符,预计需要花费 2 分钟才能阅读完成。
在使用 PLSQL 查询数据时查询一条 sql 语句,执行后什么结果都没有,起先还以为是 sql 语句写错了,因为先前会知道要查的表不可能没有数据的,于是自己又去服务器上用 sqlplus 查了一下,语法是正常的,一直不知道什么原因,后面找了一下发现是在 PLSQL 中 Oracle 的客户端字符集和服务器上的不一样,造成的中文无法匹配,先去服务器上查一下 Oracle 使用的字符集
SQL> select * from v$nls_parameters where parameter like ‘NLS_CH%’;
PARAMETER
—————————————————————-
VALUE
—————————————————————-
NLS_CHARACTERSET
AL32UTF8
很明显服务器上使用的字符集是 AL32UTF8,自己个人电脑是使用 Windows 系统,这样 DOS 系统的默认字符集和 Unix 系统的默认字符集不一样,这样只能去电脑中改下 Oracle 的环境变量,还有最好要匹配服务端的字符语言也是 NLS 开头的变量,在这里就不做过多的赘述了,修改也很简单打开我的电脑里属性中的高级系统配置下的环境变量修改下
这样变量赋值保存后再重新打开 PLSQL 查询包含中文的 SQL 语句就正常了。
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-06/144746.htm