当前位置: 代码迷 >> Oracle管理 >> plsql连接Oracle中文乱码,该如何处理
  详细解决方案

plsql连接Oracle中文乱码,该如何处理

热度:212   发布时间:2016-04-24 04:19:19.0
plsql连接Oracle中文乱码
win8系统,plsqldev9,Oracle11g 64位,Oracle客户端是 instantclient_11_2。

注册表:NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK;

环境变量:NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK;LANG=zh_CN.GBK;    NLS_CHARACTERSET=ZHS16GBK;

sql>select userenv('language') from dual; 查询结果是:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

sql>SELECT  * FROM  v$nls_parameters;查询结果是:NLS_LANGUAGE=SIMPLIFIED CHINESE;
NLS_CHARACTERSET=ZHS16GBK;

sql>select nls_charset_name(to_number('0354','xxxx')) from dual;查询结果是:ZHS16GBK;

数据库服务器字符集:sql>SELECT * FROM nls_database_parameters;查询结果是:NLS_LANGUAGE=AMERICAN;NLS_CHARACTERSET=ZHS16GBK;

客户端字符集环境:sql>SELECT * FROM nls_instance_parameters;查询结果是:NLS_LANGUAGE=AMERICAN;NLS_TERRITORY=AMERICA;

会话字符集环境:sql>SELECT * FROM nls_session_parameters;查询结果是:NLS_LANGUAGE=SIMPLIFIED CHINESE;NLS_DATE_LANGUAGE=SIMPLIFIED CHINESE;

目前的情况就是这样的,中文都是??????,请各位大侠指教一下该怎么改?
------解决方案--------------------
往表中新插入一行中文再查询,看看有没有问题

为?的这些数据可能入库的时候就已经是乱码了
  相关解决方案