plsql中文乱码解决策略

6 篇文章 0 订阅

   最近遇到pl/sql中文乱码的问题,在网上寻找解决办法的资料挺多的,内容差不多,只是零碎,这讲一点,那讲一点。最初我被这个问题困了很久,试了一些方法,后又问了几个牛人,还是无果。这么一折腾两天了。不过我心态很好,我想急于一时不行,就打长久战。我可以继续手头上的活,有时间我就弄弄,还不信弄不出来了。果然这么想后,又把之前的情况理了理,换了关键字搜索,转而上论坛看看。呵呵,果然让我找着了。现在我把解决pl/sql乱码的几种方法总结下来。

   为什么会出现pl/sql中文乱码问题?

   前提是:本机没有安装Oracle,采用pl/sql远程访问Oracle数据库。本机安装了Oracle客户端和pl/sql。

   服务器上的Oracle有一个字符设置,比如UTF-8或者简体中文,若没有手动修改那么会有一个默认的。在本机上Oracle客户端和pl/sql也需要字符设置.如果服务器和客户端的字符编码不一致,就会出现中文乱码问题。所以,我们要做得就是修改他们使他们一致。(现在看来是如此简单,当时怎么会那么纠结!)

   怎么解决pl/sql中文乱码问题?

   首先,我们要先知道服务器端的Oracle是什么字符编码。打开你的pl/sql,在命令窗口中输入  select userenv('language') from dual;   就会先看到。如图:


然后要做的就是设置本机的字符设置为 SIMPLIFIED CHINESE_CHINA.ZHS16GBK。办法是设置环境变量。步骤:我的电脑-->右击-->属性-->环境变量-->系统变量-->把nls_lang修改成SIMPLIFIED CHINESE_CHINA.ZHS16GBK,然后需要重启pl/sql。网上很多资料说做到这一步就可以解决问题了。但是我的乱码问题还是解决不了。若你的问题也解决不了,请这样做:打开你的注册表找到这样的目录:找到:HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE 中


设置右侧NLS_LANG,将它的值也设置为SIMPLIFIED CHINESE_CHINA.ZHS16GBK。重启pl/sql后,将已经添加进去的记录删除,重新添加一条再测试。以前添加的记录很可能就是乱码写入的,看不到效果。

    折腾了这么久,再看网上那些资料好轻松。看来学习在于折腾。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值