某次用plsql执行like模糊查询的时候,如果搜索关键字中含有中文字符,就查不到内容,数据库中确实有,并且用其他客户端可以查到;而如果搜索关键字中只含有英文字符,那就不存在这个问题。
导致这一现象的原因很可能是因编码或字符集引起的,于是乎上网Google了一波,原来果真如此。
解决方案如下:
查询oracle server段字符集:select userenv('language') from dual;
然后在用户环境变量里面新建了一个NLS_LANG = AMERICAN_AMERICA.UTF8,重启plsql就可以查询了(部分机器需要重启系统,我也不知道为啥( ╯□╰ ))。
另外还有部分系统可能需要在系统环境变量里面新建NLS_LANG = AMERICAN_AMERICA.UTF8才行,单在用户环境变量里面配置没有效果。