远程连接oracle数据库乱码问题解决
远程连接oracle数据库乱码问题解决
·
思路:
出现乱码问题肯定使由于编码不一致导致的。我们需要查看各处的编码是否一致,不一致的我们要修改为相同值。
解决步骤:
我们思考,这里涉及的编码三个:
1、数据库编码类型:
登录数据库,用以下命令select userenv('language') from dual;
查询数据库编码方式为:
这里看到数据库编码为GBK
2、dos窗口编码方式:
在dos窗口边框上右键—》属性可以看到:
也是GBK
3、客户端oracle使用的编码方式:
只要修改客户端的编码方式和数据库相同就行了,设置环境变量:
这样乱码问题就解决了。
当然也可以通过修改注册表的方式修改NLS_LANG的值。
注:NLS_LANG是什么?(参考文章:http://blog.csdn.net/pan_tian/article/details/7745717)
NLS:‘National Language Support (NLS)’ 当我们设定一种nls的时候实际上我们是为oracle在存放数据时指定了他的语种所特有的一些表达形式,比如我们选择chinese,那么它的中文字符如何存放,按什么规则排序,货币如何表示,日期格式也就被设定了。
NLS_LANG参数由以下部分组成: NLS_LANG=_.
NLS_Language 指定:
- Oracle(错误)信息的语言
- 日和月份的名称
注意:NLS_LANGUAGE与插入和查询的数据的语言无关。
NLS_Territory 指定: - 货币和数字格式
- 计算星期和天数的范围和惯例
更多推荐
已为社区贡献1条内容
所有评论(0)