oracle 字符乱码问题解决方案
今天在客户服务器上遇到了oracle中文乱码问题,第一个想到的是:要想避免oracle字符乱码的问题,需要注意oracle客户端的字符编码和服务端的字符编码保持一致。
于是操作如下:
1、查看服务端字符集--结果:服务端是ZHS16GBK
SELECT * FROM NLS_DATABASE_PARAMETERS where parameter='NLS_CHARACTERSET';
2、于是开始修改客户端字符集,方式如下:
在运行里面,输入regedit进入注册表,HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1\里面(最后一项与实例名、数据库版本有关系),找到NLS_LANG选项,双击它,你就可以看到相应的值,修改成AMERICAN_AMERICA.ZHS16GBK
3、查看客户端字符集--结果:客户端是AMERICAN_AMERICA.ZHS16GBK(注意:客户端保证.后面的部分和服务端一致即可)
SELECT USERENV('language') FROM DUAL;
但是做完以上操作如果还是乱码,于是查看了一下环境变量,发现里面配置了一个NLS_LANG的变量,于是将其值设为AMERICAN_AMERICA.ZHS16GBK,此时直接通过命令行是没有乱码问题了,但是尝试通过plsql查询数据库,发现依旧乱码,这时想到一件事,oracle是64位的,当时通过plsql是不能直接连接的,需要装32位的客户端,然后别的同事写了一个plsqldev.bat文件放到了plsql的根目录下,才能连接oracle的,于是找到该文件,打开查看,文件内容如下:
@echo off
set path=C:\app\Administrator\product\instantclient_10_2
set ORACLE_HOME=C:\app\Administrator\product\instantclient_10_2
set TNS_ADMIN=C:\app\Administrator\product\instantclient_10_2
set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
start plsqldev.exe
这时就明白了,该文件中指定的NLS_LANG是AL32UTF8编码,于是将其改成set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK,此时plsql使用的32位的oracle客户端的编码就和服务端的编码保持一致了,都是ZHS16GBK,再尝试通过plsql查询数据库,此时乱码问题解决了。
oracle 字符乱码问题解决方案的更多相关文章
- Oracle字符乱码、数据越界訪问典型Bug分析
Oracle字符乱码.数据越界訪问典型Bug分析 前言: 作为乙方,在甲方客户那里验收阶段发现两个诡异Bug. 下面就问题来源.问题根因.解决方式.怎样避免做具体描写叙述. .且两 ...
- C# 读取oracle 中文乱码的解决方案
用OracleDataAccess.dll访问oracle数据库,遇到中文乱码的情况. 解决方案如下: 1查看字符集编码, 在数据库服务器端 启动 sqlplus SQL->select use ...
- oracle字符乱码的解决方法
原因分析: 客户端字符集就是为了让数据库知道我们传递过去的字符是属于哪种字符集,以便于Oracle在存储字符时进行相应的编码映射(查看客户端字符集通过查找注册表中的NLS_LANG键).在客户端查询数 ...
- Oracle11g 创建表空间、创建用户、角色授权、导入导出表以及中文字符乱码问题
前提:本机已经安装了Oracle11g数据库. 需求:使用PL SQL数据库连接工具操作Oracle数据库 一.创建表空间和用户 想要操作数据库,首先需要创建用户并给用户授予权限:在创建用户 ...
- 1.UTF8字符集csv文件在oracle下乱码问题处理
1.问题描述 在excel中生成了一个UTF-8编码格式的csv文件准备导入数据库,在notpad++下打开显示正常,编码集为UTF-8,通过pl/sql dev导入oracle是出现乱码,此时初步推 ...
- Oracle11g创建表空间、创建用户、角色授权、导入导出表以及中文字符乱码问题
[转载]原文地址:https://www.cnblogs.com/bjh1117/p/6605037.html 前提:本机已经安装了Oracle11g数据库. 需求:使用PL SQL数据库连接工具操作 ...
- Get请求,Post请求乱码问题解决方案
下面以两种常见的请求方式为例讲解乱码问题的解决方法. 1.Post方式请求乱码. 自从Tomcat5.x以来,Get方式和Post方式提交的请求,tomcat会采用不同的方式来处理编码. 对于Post ...
- 一.UTF8字符集csv文件在oracle下乱码问题处理
1.问题描述 在excel中生成了一个UTF-8编码格式的csv文件准备导入数据库,在notpad++下打开显示正常,编码集为UTF-8,通过pl/sql dev导入oracle是出现乱码,此时初步推 ...
- JAVA的中文字符乱码问题
来源:http://luzefengoo.blog.163.com/blog/static/1403593882012754428536/ JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用 ...
随机推荐
- Blog Starting...
30出头,开始Blog记录学习生活的点滴,待40时再回来一看.
- SQLServer批量创建有规则的数据
根据需求要生成从kkk001,kkk002开始的100个递增账号 手插要死人的,用SQL脚本轻松完成: declare @a int ) ) begin ) ) end declare:申明变量, @ ...
- java 日历代码实现
System.out.println("请输入日期(按照格式:2030-3-10):"); //在控制台输入 //String str="2016-9-26"; ...
- css3设置边框属性
css设置边框属性:设置边框圆角 <!DOCTYPE html> <html> <head lang="en"> <meta charse ...
- UpdatePanel的使用方法
UpdatePanel控件也是Ajax里用得最多的控件之一,UpdatePanel控件是用来局部更新网页上的内容,网页上要局部更新的内容必须放在UpdatePanel控件里,他必须和上一次说的Scri ...
- caffe安装(linux)
从官网github下载caffe-master.zip 解压:unzip caffe-master 将Makefile.config.example复制,命名为Makefile.config(如果是C ...
- Swift3.0语言教程比较、判断字符串
Swift3.0语言教程比较.判断字符串 Swift3.0语言教程比较.判断字符串,在一个程序中字符串很多时,常常会做的操作就是对这些字符串进行比较和判断.本小节将讲解这些内容. 1.不区分大小写比较 ...
- [工作bug]一个weblogic跨应用导致session丢失的bug之旅
近来,发布一个应用,开发和本地测试一切都好,一旦部署到测试环境之后,坑爹的问题随之而来,应用程序不定时的超时,导致用户正在操作过程中被踢了出来,纠结了几天,终于在今天将此问题搞定: 1.系统架构 系统 ...
- 自定义UICollectionViewLayout之瀑布流
目标效果 因为系统给我们提供的 UICollectionViewFlowLayout 布局类不能实现瀑布流的效果,如果我们想实现 瀑布流 的效果,需要自定义一个 UICollectionViewLay ...
- BZOJ4665 : 小w的喜糖
考虑枚举哪些人一定不合法,那么方案数可以通过简单的排列组合算出. 于是设$f[i][j]$表示前$i$种糖果,一共有$j$个人一定不合法的方案数,但是这样并不能保证其他人一定合法,所以需要进行容斥. ...