Oracle数据库乱码现象

需要提前了解的知识点:
1.NLS和NLS_LANG
2.dump 函数。(select NAME,dump(NAME,1016) from huida;)

查看服务器编码:
[oracle@localhost ~]$locale
SQL>select * from v$nls_parameters where parameter in ( ‘NLS_LANGUAGE’,’NLS_TERRITORY’,’NLS_CHARACTERSET’);

查看客户端编码:
Linux:
[oracle@localhost ~]$ echo $NLS_LANG
AMERICAN_AMERICA.ZHS16GBK

Windows:
C:\Users\PeterPan>chcp
C:\Users\PeterPan>echo %NLS_LANG%
AMERICAN_AMERICA.ZHS16GBK

修改客户端编码:
Linux:
[oracle@localhost ~]$ vi .bash_profile
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
wq(保存退出)
[oracle@localhost ~]$ source .bash_profile

Windows:
设置位置: ‘我的电脑’ -> ‘属性’ > ‘高级’ -> ‘环境变量’

如果你是用SSH连接的。
请修改putty的编码为:Use font encoding(最后一个)

记住一个原则:
NLS_LANG编码必须和客户端OS编码一致。

打赏
此条目发表在Oracle分类目录。将固定链接加入收藏夹。

发表评论