【Oracle】——pl/sql中文乱码,显示“?”

前提 

   

    最近的项目都是Oracle,虽然小编对oracle数据库一直是一窍不懂,但是要去学习啊!也是刚刚开始学习使用,问题就不断啊。就说这个最有可能遇到的乱码的问题,第一反应,编码格式的问题!

    可就是这个常见的问题,小编也是花费了好久的时间啊。其中最神奇的是解决了全部乱码问题,剩下个别汉字乱码,这个可不能将就啊,毕竟项目是不能将就的。

过程


    一般是因为刚安装的oracle数据库不识别中文,我是使用PL/SQL来操作数据库的,当然可以直接在dos中操作。注意:小编在这提示一下,使用工具乱码的时候,一定要区分是数据库中存储的是乱码,还是因为使用工具而造成显示乱码!


查看Oracle编码格式


   首先登录oracle用户,连接到sysdba,先查看oracle中的编码格式是不是支持中文GBK或UTF-8,查看语句

select userenv('language') from dual
    如果发现不支持,下面小编的语句就发挥了作用!


步骤一


    修改oracle数据库编码格式

SHUTDOWN IMMEDIATE; 
STARTUP MOUNT EXCLUSIVE; 
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE NATIONAL CHARACTER SET ZHS16GBK; 
SHUTDOWN immediate;
startup;
    建议执行完改语句就把数据重新导入一下,查询一下,判断是否为乱码。


步骤二


    如果发现还是乱码,则执行下面步骤,打开注册表,Ctrl+R,输入regedit,HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDB12Home1\NLS_LANG修改为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK,然后可以重新尝试一下,判断数据是否还乱码。


步骤三


    如果还是不行!!!没事小编还有一招,就是设置环境变量,计算机\属性\高级系统设置\环境变量\系统变量\新建——NLS_LANG

                 

    再重新尝试一下,应该就解决了吧。如果还是不行,恭喜,你又可以去创造了!!!那将是你最宝贵的机会,要珍惜!


总结


    觉得快失去耐心的时候多坚持一下,就在这个时候问题完美解决!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mandy_i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值