oracle中sql中文乱码,oracle中文字符乱码终极解决

1、服务器确认字符集

select * from v$nls_parameters; #是否为zhs16GBK,zhs16utf8.

2、如不是中文字符集需改:关建点

shutdown immediate;

startup mount;

alter database open;

alter system enable restricted session;

alter database national character set internal_use utf8;

alter database character set internal_use AL32GBK;

shutdown immediate;

startup;

3、客户端显示语言及字符集修改

vim /home/oracle/.bash_profile

export LANG=zh_CN.GBK

export NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK  #注意引号,分别是语言_地理.字符集

oracle 的sqlplus会去读取OS中环境变量下的nls_lang信息

确认是:select * from v$nls_parameters;

PARAMETER                      VALUE

------------------------------ ------------------------------

NLS_LANGUAGE                   SIMPLIFIED CHINESE

NLS_TERRITORY                  CHINA

NLS_CURRENCY                   ¥

NLS_ISO_CURRENCY               CHINA

NLS_NUMERIC_CHARACTERS         .,

NLS_CALENDAR                   GREGORIAN

NLS_DATE_FORMAT                DD-MON-RR

NLS_DATE_LANGUAGE              SIMPLIFIED CHINESE

NLS_CHARACTERSET               ZHS16GBK

NLS_SORT                       BINARY

NLS_TIME_FORMAT                HH.MI.SSXFF AM

4、此时在linux还不能显示中文,那得确认一下服务器本身能不能显示中文文件、目录

通过设置LANG=zh_CN.UTF-8 or LANG=zh_CN.GBK等解决. linux用source .bash_profile命令生效.

WIN系列请在系统高级里同样设:NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK,LANG=zh_CN.UTF-8 or LANG=zh_CN.GBK

5、如还碰到sqlplus中文提示信息乱码

请求调整secureCRT或putty的字符集,如由UTF8调来gb2312.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值