前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深入探讨oracle字符编码问题,关于NLS_LANG

深入探讨oracle字符编码问题,关于NLS_LANG

作者头像
williamwong
发布2019-02-22 14:53:33
1K0
发布2019-02-22 14:53:33
举报

最近,好不容易用plsql developer连接上64位oracle了,不过有弹了一个错误:

NLS_LANG在客户端不能确定,字符集转变将造成不可预期的后果

lang
lang

打开plsql developer帮助---支持信息--信息选项卡:

nlserror
nlserror

看到ULS_LANG这行是空的。

确实,如果查询,表中的中文注释就是问号

怎么没加载呢?

regedit
regedit

我系统注册表有NLS_LANG键值。

看来得添加环境变量了,如下图:

nlslang
nlslang

添加环境变量后,经过测试,加载成功。

此时,如果操作本地oracle数据库的话,提示肯定是中文的:

chs
chs
windowsnlslang
windowsnlslang

如果你通过本地plsql developer操作远程数据库,提示是英文的话,就得看看远程系统nls_lang变量是什么的了:

servernlslang
servernlslang

远程系统nls_lang变量是AMERICAN_AMERICA.ZHS16GBK,所以提示是英文的了:

en
en

加载成功的结果可以在plsql developer中看到:

ulslang
ulslang

关于nls_lang,涉及到了几个表:

v$nls_parameters,v$nls_valid_values,nls_database_parameters,nls_instance_parameters

v$nls_parameters就表示的是本地nls_lang设置了:

nlsparms
nlsparms

我主要以图说明了一下问题,一些其他的信息可以参考:

http://jelly.javaeye.com/blog/654300

http://kb.cnblogs.com/a/1368334/

http://www.itpub.net/viewthread.php?tid=735780&page=1#

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2010-11-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档