使用instantclient_11_2客户端中文乱码问题解决方案

实际环境简介

PLSQL Developer 11安装路径:D:\tool\DEVELOPMENT\PLSQL Developer 11\PLSQL Developer 11
instantclient_11_2客户端路径:D:\tool\DEVELOPMENT\PLSQL Developer 11\instantclient_11_2
查询任意一张表,遇到中文数据,结果都是??????….
查询结果请在本机上执行后以实际情况为准,本文所查询的结果不一定和大家的都一致
说明:2018年8月12的笔记有误,请以此修改为准

问题还原

PLSQL Developer 11或sqlplus中执行sql语句出现????结果数据
使用instantclient_11_2客户端中文乱码问题解决方案_第1张图片

解决方案

请按如下顺序进行

1.执行如下sql代码(必须在服务器上执行,否则结果可能有误)

select   userenv('language')  from   dual;--结果为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

2.复制结果:

@echo off
set ORACLE_HOME=D:\tool\DEVELOPMENT\PLSQL Developer 11\instantclient_11_2
set path=%ORACLE_HOME%
set TNS_ADMIN=%ORACLE_HOME%
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
start plsqldev.exe
end:

3.在PLSQL Developer 11安装路径下新建一个bat文件(文件名自取)

创建文件(内容就是步骤2的脚本):

使用instantclient_11_2客户端中文乱码问题解决方案_第2张图片
使用instantclient_11_2客户端中文乱码问题解决方案_第3张图片

4.双击执行bat文件以打开PLSQL Developer 11

打开后执行任意一段之前乱码的sql即可确认是否修复中文乱码问题

如果需要永久设置环境变量,配置如下

setx ORACLE_HOME "D:\tool\DEVELOPMENT\PLSQL Developer 11\instantclient_11_2"
setx path  "D:\tool\DEVELOPMENT\PLSQL Developer 11\instantclient_11_2;%path%"
setx TNS_ADMIN "D:\tool\DEVELOPMENT\PLSQL Developer 11\instantclient_11_2"
setx NLS_LANG "SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
start plsqldev.exe

start plsqldev.exe可以不写,如果过程出错请使用在文本末端加入pause;后执行暂停操作即可检查

你可能感兴趣的:(使用instantclient_11_2客户端中文乱码问题解决方案)