oracle字符集的问题

今天同事给了一份dmp问件,让我导入到linux下的数据库中,当时没有想,就直接导入了。

结果查询的时候,看到乱码的现象



LOAN_NAME
------------------------------
??

很显然这个是字符集的问题,

在客户端使用plsqldeveloper执行sql语句查看

显示:肖军

正常!!!

那么肯定是字符集的问题了

解决办法:

查看源端字符:

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

查看linux下的oracle字符集

SQL> Select userenv('language') from dual;


USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8

 

执行export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

查询sql

LOAN_NAME
------------------------------------------------------------
肖军
显示正确!

 

执行[oracle@oracle ~]$ export NLS_LANG='SIMPLIFIED AMERICAN_AMERICA.ZHS16GBK'

登录数据库
[oracle@oracle ~]$ sqlplus / as sysdba


SQL*Plus: Release 11.2.0.3.0 Production on Tue Apr 26 14:07:01 2016


Copyright (c) 1982, 2011, Oracle.  All rights reserved.


ERROR:
ORA-12705: Cannot access NLS data files or invalid environment specified




Enter user-name: 

出现错误,NLS文件无效

解决办法

服务端设置

# 常用unicode字符集 
export NLS_LANG=american_america.AL32UTF8 
# 常用中文字符集 
export NLS_LANG=”Simplified Chinese_china”.ZHS16GBK 

客户端环境变量设置

NLS_LANG=”Simplified Chinese_china”.ZHS16GBK

NLS_LANG=american_america.AL32UTF8 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值