oracle服务端与客户端字符集不同导致中文乱码解决方案
Posted SmilingEye
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle服务端与客户端字符集不同导致中文乱码解决方案相关的知识,希望对你有一定的参考价值。
1.问题描述
用pl/sql登录时,会提示“数据库字符集(ZHS16GBK)和客户端字符集(2%)是不同的,字符集转化可能会造成不可预期的后果”,具体问题是中文乱码,如下图
2.问题分析
不管错误信息中你的数据库字符集是什么,都是由于数据库服务端和你的客户端字符集不统一造成的,所以只要将客户端字符集改为和服务端字符集一致就能解决问题。
3.问题解决步骤
3.1查看服务端字符集
pl/sql里查询 select userenv(\'language\') from dual
3.2查看客户端字符集并修改
打开注册表,“开始”-》“运行” 输入‘regedit’-确定。
找到HKEY_LOCAL_MACHINE\\SOFTWARE\\ORACLE\\KEY_OraDb11g_home1,找到NLS_LANG选项,双击,修改为“服务端字符集”。
3.3修改环境变量
如果上述步骤任然报错(我自己是要做到第三步),修改环境变量NLS_LANG值为“服务端字符集”(如果没有NLS_LANG请新增)
以上是关于oracle服务端与客户端字符集不同导致中文乱码解决方案的主要内容,如果未能解决你的问题,请参考以下文章