SQLPlus中文乱码问题解决方法——Windows10

  有一段时间没敲过SQL了,今天复习,想打开SQLplus敲敲,结果不知道为什么就乱码了,很是无语,于是上网查找了下解决办法,可是都没用。
  网上提供最主要也是最有用的方法就是设置环境变量NLS_Lang。
  解决Oracle的客户端乱码问题的关键关键是要把服务器端使用的字符集跟客户端使用的字符集统一起来。而Oracle客户端(Sqlplus)就是通过NLS_LANG环境变量来确定客户端使用的字符集。
    NLS_LANG参数由以下部分组成:
NLS_LANG=<Language>_<Territory>.<Clients Characterset>
NLS_LANG各部分含义如下:

LANGUAGE指定:
-Oracle消息使用的语言
-日期中月份和日显示

TERRITORY指定
-货币和数字格式
-地区和计算星期及日期的习惯

CHARACTERSET:
-控制客户端应用程序使用的字符集

通常设置或者等于客户端(如Windows)代码页,或者对于unicode应用设置为UTF8

    而要设置NLS_Lang首先就要知道你的服务器端的字符集是什么,这个可以在SQLplus中以下代码查看:
select userenv('language') from dual;
    知道后再设置电脑的环境变量NLS_LANG,将其设置成与之相同的字符集一般就解决了,但是,总是有那么几台电脑爱抽风,比如说我的。。。

    我的电脑是win10的系统,虽然知道win10系统问题多,但就是不想换怎么办,那就要面对一些其他系统不会遇到的麻烦,比如说我的服务器端显示的字符集是:`SIMPLIFIED CHINESE_CHINA.AL32UTF8`,可是将NLS_LANG设置之后却没有一点用,依旧乱码乱得很开心,之后我又按网上说的想去改注册表,结果发现Win10注册表里完全没那个选项。。。折腾了一上午,最后将尝试将之改为了`SIMPLIFIED CHINESE_CHINA.ZHS16GBK`后又恢复正常了。。。
    所以,希望其他依然坚持的用着Win10,然后遇到这个问题的朋友,看到不妨也试试这个,也许乱码的问题就解决了。

    这仅仅只是我的个人经验,经供参考。
    虽然问题是解决了,但却是知其然而不知其所以然,如果路过的大神有知道的,希望可以指点下。
    如果有错误或是可以改进的地方,希望各位大神能指点一二。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值