项目场景:
用sqlplus
对 Oracle 数据库里的某个表进行条件查询时,查询条件为中文,如:
select * from 表名 where 字段=‘中文汉字’;
问题描述
Navicat 执行结果 :
![执行结果](https://img-blog.csdnimg.cn/a2540f091ad94d4a864482a9f31ed028.png)
sqlplus 执行结果 :
![执行结果](https://img-blog.csdnimg.cn/d8106d25495f436aa7bd0521690c81b1.png)
Navicat 和 sqlplus 查询出来的 count 条数不一致。
原因分析:
Oracle服务端字符集编码与 sqlplus 端字符集编码不一致。
解决方案:
sqlplus 执行sql前,设置环境变量 :
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"