PL/SQL显示乱码-无法进行中文条件查询解决

本文介绍了解决PLSQL客户端显示中文乱码的方法。主要步骤包括查询Oracle服务端字符集编码、设置本地环境变量等,并分享了一次重启机器后才生效的经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转:PLSQL乱码问题皆是ORACLE服务端字符集编码与PLSQL端字符集编码不一致引起。
类似乱码问题都可以从编码是否一致上面去考虑。 
  
解决: 
  
1. 查询Oracle服务端字符集编码,获取NLS_CHARACTERSET字段值: 
执行 
sql代码  
   select * from v$nls_parameters;
 保存查询到的值,如:NLS_CHARACTERSET = AL32UTF8 


2. 查询Oracle服务端语言信息: 
执行 
sql代码  
  
   SELECT 'AMERICAN_AMERICA.' || PROPERTY_VALUE  
FROM DATABASE_PROPERTIES;
 保存查询到的值,如:AMERICAN_AMERICA.AL32UTF8 
  
3. 设置本地环境变量。(PLSQL优先从环境变量中获取属性) 
   右击 我的电脑 -> 属性 -> 告警系统属性 -> 高级 -> 环境变量 -> 系统变量栏 
   新增如下两条记录: 
NLS_CHARACTERSET = AL32UTF8
NLS_LANG = AMERICAN_AMERICA.AL32UTF8
  

4. 重启PLSQL,OK。 

5.以上部分都是转自别人的,结果我的PLSQL重启之后还是不能进行中文查询,反复核对都没发现问题。后来干脆把机器重启了一下,结果可以了。大家引以为戒!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值