plsql中文乱码显示问号的解决办法

问题现象:

   PLSQL执行sql语句,不识别中文,输出的中文标题显示成问号????。

解决办法:

  1、 登陆plsql,执行sql语句,输出的中文标题显示成问号????;条件包含中文,则无数据输出;查询出的内容含有中文显示成????。

  2、输入sql语句select * from V$NLS_PARAMETERS t WHERE t.PARAMETER='NLS_LANGUAGE'查看字符集,查看value值是否为简体中文。

  

      注:(1)通过alter system set nls_language='AMERICAN' scope=spfile; 可以更改nls_database_parameters和nls_instance_parameters的nls_language

            (2)通过alter session set nls_language='SIMPLIFIED CHINESE'; 可以更改nls_session_parameters的nls_language

  3、进入注册表,依次单击HKEY_LOCAL_MACHINE --->SOFTWARE ---> ORACLE--->home(小编安装的是Oracle 11g,这里显示成KEY_OraDb11g_home1),找到NLS_LANG,查看数值数据是否为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK。

  

  4、如果以上设置都没有问题,那就要查看下环境变量的设置,查看是否有变量NLS_LANG,没有则新建该变量。

  5、新建变量,设置变量名:NLS_LANG,变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK,确定即可。

  

  6、重新登录plsql,执行sql语句,OK,乱码问题解决。

转载于:https://www.cnblogs.com/growthTree/p/4401934.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值