欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

如何解决oracle客户端中文乱码问题?

程序员文章站 2022-06-17 19:30:06
基本情况:linux服务器上的oracle刚装好导了点数据进去,在自己的电脑上用plsql进去查询时乱码 接下里进入正题。 1.乱码原因: window,sqlplus,oracle字符集不一致导致...

基本情况:linux服务器上的oracle刚装好导了点数据进去,在自己的电脑上用plsql进去查询时乱码

接下里进入正题。

1.乱码原因:

window,sqlplus,oracle字符集不一致导致的

2.解决思路

将sqlplus与操作的编码设为一致状态

3.解决方法

1.对于linux终端,查看.bashrc或者.bash_profile或者etc/prifile里的export nls_lang是否为"oralce服务端的字符集"

oralce服务端的字符集=select userenv('language') from dual;支持中文的一般为american_america.zhs16gbk

如果oracle里的字符集不支持中文,则需修改。

对于window的plsql,在系统变量里添加一项nls_lang,内容为american_america.zhs16gbk

4.注意

另外还需要注意用在shell文件里的字符编码名称与oracle是长的不一样的。

比如这个zh_cn.utf8是字符集的localeid而不是字符集的名称,真正的名称叫simplifiedchinese_china.al32utf8,如果设置成zh_cn.utf8,oracle会报ora-12705: cannotaccess nls data files or invalid environmentspecified错误。在.bash_profile里面加入nls_lang="simplifiedchinese_china.al32utf8"; export nls_lang问题就解决了。