windows sqlplus客户端连接oralce数据库中文显示问题
运行环境
服务器:centos6.8
服务器oracle版本:oracle 11g R2 64位,字符集是ZHS32utf8。
客户端:navicat 12x64 windows8.1x64
问题分析
当在windows客户端使用sqlplus或navicat时如果数据库中文显示“????”
这种情况是在客户端与服务器端字符集不一致时,从客户端输入了汉字信息。输入的这些信息即便是把客户端字符集更改正确,也无法显示汉字。


解决方法:退出sqlplus,设置相应的环境变量NLS_LANG
linux:
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
windows:

出现问题
此时。系统cmd命令行使用sqlplus已经正常显示中文,但是navicat中依旧是????
图为cmd命令行访问sqlplus客户端查询

图为navicat f6弹出的sqlplus客户端

原因是因为Navicat Premium默认自带的instant client,但是其是base lite版本的(Basic Lite: Basic 的精简版本,其中仅带有英文错误消息和 Unicode、ASCII 以及西欧字符集支持),不支持中文字符集,而本文中的服务器端oracle恰好是中文字符集。自带版本不支持。此处需要去oracle官网下载相对应的版本。
http://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html

将下载的文件解压覆盖navicat中的instantclient目录里的文件。
此时连接oracle实例提示如下信息

尽管我们下载了64位的版本。却提示如图信息。这是因为Navicat仅支持32位的,因此还需下载一个32位的客户端。替换到instantclient目录中
替换完成后连接实例。f6使用sqlplus查询发现中文已经正常显示

windows sqlplus客户端连接oralce数据库中文显示问题的更多相关文章
- Linux程序写入oralce数据库中文显示为问号??? 代码实现设置环境变量!
		Linux程序写入oralce数据库中文显示为问号??? 1.问题介绍 根本原因是字符集的问题,是数据库的字符集和写入程序的linux系统的字符集不一致导致: 但是用export NLS_LANG=& ... 
- 配置ORACLE 客户端连接到数据库
		--================================= -- 配置ORACLE 客户端连接到数据库 --================================= Oracle ... 
- atitit.客户端连接oracle数据库的方式总结
		客户端连接oracle数据库的方式总结 目录 Java程序连接一般使用jar驱动连接..... 桌面GUI一般采取c语言驱动oci.dll 直接连接... 间接连接(需要配置tns及其envi var ... 
- 远程客户端连接MysqL数据库太慢解决方案
		远程客户端连接MysqL数据库太慢解决方案局域网客户端访问mysql 连接慢问题解决. cd /etc/mysql vi my.conf [mysqld] skip-name-resolve 此选项禁 ... 
- phoenix客户端连接hbase数据库报错:Traceback (most recent call last): File "bin/sqlline.py", line 27, in <module> import argparse ImportError: No module named argparse
		环境描述: 操作系统版本:CentOS release 6.5 (Final) phoenix版本:phoenix-4.10.0 hbase版本:hbase-1.2.6 现象描述: 通过phoenix ... 
- Toad客户端连接Oracle数据库报错  ORA-12170:TNS:连接超时
		Oracle 客户端连接Oracle数据库报错 ORA-12170:TNS:连接超时 排错步骤: 1. 查看网络是否畅通: 打开cmd,ping数据库IP 2. 查看端口是否畅通: 打开cmd ... 
- 客户端连接mysql数据库反应慢
		远程客户端连接MysqL数据库太慢解决方案 局域网客户端访问mysql 连接慢问题解决 编辑mysql配置文件 # vi my.conf [mysqld] skip-name-resolve 重启my ... 
- C#.NET ORM FreeSql 读取使用 US7ASCII 的 Oracle 数据库中文显示乱码问题
		前言 关于 Oracle US7ASCII 中文乱码的问题,Ado.Net 和 Odbc 无法解决.包括最新的.Net Core..NET6..NET7 都无法解决这个问题. FreeSql 对 Or ... 
- 解决“在UBUNTU下打开windows中创建的文本文件,中文显示乱码”的问题 。
		在UBUNTU下打开windows中用notepad等工具创建的txt或程序源码等文本文件,中文显示乱码,原因是windows中的txt文件编码方式为GBK,UBUNTU中为utf-8. 解决办法:在 ... 
随机推荐
- 【XSY2612】Comb Avoiding Trees 生成函数 多项式求逆 矩阵快速幂
			题目大意 本题的满二叉树定义为:不存在只有一个儿子的节点的二叉树. 定义一棵满二叉树\(A\)包含满二叉树\(B\)当且经当\(A\)可以通过下列三种操作变成\(B\): 把一个节点的两个儿子同时删掉 ... 
- 【比赛】NOIP2018 保卫王国
			DDP模板题 #include<bits/stdc++.h> #define ui unsigned int #define ll long long #define db double ... 
- Logger.error方法之打印错误异常的详细堆栈信息
			一.问题场景 使用Logger.error方法时只能打印出异常类型,无法打印出详细的堆栈信息,使得定位问题变得困难和不方便. 二.先放出结论 Logger类下有多个不同的error方法,根据传入参数的 ... 
- EasyFlash 的初始化配置
			@2019-02-18 [小记] EasyFlash的初始化流程 easyflash_init ---> ef_port_init ---> sfud_init ---> sfud_ ... 
- VSCode and NoteBook for JavaScript | NodeJS
			VSCode调试HTML环境配置 | Jupyter NoteBook IJavaScript 配置 VSCode调试HTML环境配置 先安装两个插件:Debugger for Chrome(调试) ... 
- NowCoder--牛可乐发红包脱单ACM赛C_区区区间间间
			题目链接:C_区区区间间间 思路:算贡献,求出每个数为当前最大值时所在的区间个数,和每个数为最小值的区间个数 和这个题有点类似 搭配食用效果更佳 点击这里 #include<bits/stdc+ ... 
- CF235D Graph Game
			CF235D Graph Game 好题 树? 考虑每个点被计算多少次 但是和当前分治中心有关系的 所以,f(a,b),对于a作为中心时候,和b相连的概率 也就是两者必然分离,最后一次连在一起的时候, ... 
- A1114. Family Property
			This time, you are supposed to help us collect the data for family-owned property. Given each person ... 
- (转)Java并发编程:线程池的使用
			背景:线程池在面试时候经常遇到,反复出现的问题就是理解不深入,不能做到游刃有余.所以这篇博客是要深入总结线程池的使用. ThreadPoolExecutor的继承关系 线程池的原理 1.线程池状态(4 ... 
- 梯度提升树(GBDT)原理小结(转载)
			在集成学习值Adaboost算法原理和代码小结(转载)中,我们对Boosting家族的Adaboost算法做了总结,本文就对Boosting家族中另一个重要的算法梯度提升树(Gradient Boos ... 
