Oracle DataBase 编码格式
sqlplus 查询 Oracle 数据库结果乱码或显示 ? ,则需要设置字符集。
一、客户端字符集
格式:NLS_LANG=language_territory.charset
Language: 指定服务器消息的语言, 影响提示信息是中文还是英文
Territory: 指定服务器的日期和数字格式
Charset: 指定字符集
如:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
Linux 环境
# 查看系统编码
locale # 临时设置系统编码
# 永久设置(CentOS7)编辑 /etc/locale.conf
export LANG="zh_CN.UTF-8" # 临时设置 Oracle 客户端字符集,与系统编码一致
export NLS_LANG=american_america.AL32UTF8
Windows 环境
# set 设置临时环境变量,只针对当前 Shell 有效,关闭 Shell 就没有了
# setx 设置永久环境变量,和在我的电脑上右键属性设置是一样的效果 # 管理员方式打开 CMD
# 设置当前用户环境变量
setx NLS_LANG "AMERICAN_AMERICA.UTF8"
# 设置系统环境变量
setx NLS_LANG "AMERICAN_AMERICA.UTF8" /m

二、服务端字符集
常用字符集
ZHS16GBK:存储中国人常用的字符
UTF8:unicode字符集,存储全世界的字符,只是不全
AL32UTF8:unicode字符集,比UTF8大多了,unicode字符集使用它,全但性能较差
以 sys 身份登录进行修改
-- 查看当前字符集
select * from v$nls_parameters where parameter = 'NLS_CHARACTERSET';
SELECT USERENV('language') FROM DUAL;
SELECT parameter, value FROM v$nls_parameters WHERE parameter LIKE '%CHARACTERSET'; -- 关闭 database
shutdown immediate; -- 以启动数据库到 mount 状态下
startup mount; -- 设置session
ALTER SESSION SET SQL_TRACE=TRUE;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0; -- 启动 database
alter database open; -- 修改字符集
ALTER DATABASE CHARACTER SET AL32UTF8;
-- 强制修改字符集
ALTER DATABASE character set INTERNAL_USE AL32UTF8; -- 关闭 database
shutdown immediate; -- 重启
startup;
三、常见的locale ID与字符集名称的对应关系,服务端设置的是Locale ID,客户端设置的是NLS_LANG
|
Language |
Locale ID |
NLS_LANG |
|---|---|---|
|
English (American) |
en_US.UTF-8 |
AMERICAN_AMERICA.AL32UTF8 |
|
English (American) |
en_US.ISO-8859-1 |
AMERICAN_AMERICA.WE8ISO8859P1 |
|
English (American) |
en_US.ISO-8859-15 |
AMERICAN_AMERICA.WE8ISO8859P15 |
|
English (Australian) |
en_AU.UTF-8 |
ENGLISH_AUSTRALIA.AL32UTF8 |
|
English (Australian) |
en_AU.ISO-8859-1 |
ENGLISH_AUSTRALIA.WE8ISO8859P1 |
|
English (Australian) |
en_AU.ISO-8859-15 |
ENGLISH_AUSTRALIA.WE8ISO8859P15 |
|
English (British) |
en_GB.UTF-8 |
ENGLISH_UNITED KINGDOM.AL32UTF8 |
|
English (British) |
en_GB.ISO-8859-1 |
ENGLISH_UNITED KINGDOM.WE8ISO8859P1 |
|
English (British) |
en_GB.ISO-8859-15 |
ENGLISH_UNITEDKINGDOM.WE8ISO8859P15 |
|
English (Ireland) |
en_IE.UTF-8 |
ENGLISH_IRELAND.AL32UTF8 |
|
English (Ireland) |
en_IE.ISO-8859-1 |
ENGLISH_IRELAND.WE8ISO8859P1 |
|
English (Ireland) |
en_IE.ISO-8859-15 |
ENGLISH_IRELAND.WE8ISO8859P15 |
|
German |
de_DE.UTF-8 |
GERMAN_GERMANY.AL32UTF8 |
|
German |
de_DE.ISO-8859-1 |
GERMAN_GERMANY.WE8ISO8859P1 |
|
German |
de_DE.ISO-8859-15 |
GERMAN_GERMANY.WE8ISO8859P15 |
|
French |
fr_FR.UTF-8 |
FRENCH_FRANCE.AL32UTF8 |
|
French |
fr_FR.ISO-8859-1 |
FRENCH_FRANCE.WE8ISO8859P1 |
|
French |
fr_FR.ISO-8859-15 |
FRENCH_FRANCE.WE8ISO8859P15 |
|
Italian |
it_IT.UTF-8 |
ITALIAN_ITALY.AL32UTF8 |
|
Italian |
it_IT.ISO-8859-1 |
ITALIAN_ITALY.WE8ISO8859P1 |
|
Italian |
it_IT.ISO-8859-15 |
ITALIAN_ITALY.WE8ISO8859P15 |
|
Spanish |
es_ES.UTF-8 |
SPANISH_SPAIN.AL32UTF8 |
|
Spanish |
es_ES.ISO-8859-1 |
SPANISH_SPAIN.WE8ISO8859P1 |
|
Spanish |
es_ES.ISO-8859-15 |
SPANISH_SPAIN.WE8ISO8859P15 |
|
Spanish (Mexico) |
es_MX.UTF-8 |
MEXICAN SPANISH_MEXICO.AL32UTF8 |
|
Spanish (Mexico) |
es_MX.ISO-8859-1 |
MEXICAN SPANISH_MEXICO.WE8ISO8859P1 |
|
Spanish (Mexico) |
es_MX.ISO-8859-15 |
MEXICANSPANISH_MEXICO.WE8ISO8859P15 |
|
Portuguese (Brazilian) |
pt_BR.UTF-8 |
BRAZILIANPORTUGUESE_BRAZIL.AL32UTF8 |
|
Portuguese (Brazilian) |
pt_BR.ISO-8859-1 |
BRAZILIANPORTUGUESE_BRAZIL.WE8ISO8859P1 |
|
Portuguese (Brazilian) |
pt_BR.ISO-8859-15 |
BRAZILIANPORTUGUESE_BRAZIL.WE8ISO8859P15 |
|
Japanese |
ja_JP.EUC-JP |
JAPANESE_JAPAN.JA16EUC |
|
Japanese |
ja_JP.UTF-8 |
JAPANESE_JAPAN.AL32UTF8 |
|
Korean |
ko_KR.EUC-KR |
KOREAN_KOREA.KO16KSC5601 |
|
Korean |
ko_KR.UTF-8 |
KOREAN_KOREA.AL32UTF8 |
|
Chinese (simplified) |
zh_CN.GB18030 |
SIMPLIFIEDCHINESE_CHINA.ZHS32GB18030 |
|
Chinese (simplified) |
zh_CN.UTF-8 |
SIMPLIFIED CHINESE_CHINA.AL32UTF8 |
|
Chinese (traditional) |
zh_TW.BIG5 |
TRADITIONALCHINESE_TAIWAN.ZHT16BIG5 |
|
Chinese (traditional) |
zh_TW.UTF-8 |
TRADITIONAL CHINESE_TAIWAN |
Oracle DataBase 编码格式的更多相关文章
- Oracle Database 12c Data Redaction介绍
什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...
- 使用技术手段限制DBA的危险操作—Oracle Database Vault
概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...
- Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)
ORACLE集群概念和原理(二) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
- 【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)
Oracle 11G RAC数据库安装(八) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...
- Oracle Database 12c Release 1下载安装(自身经历)
1.访问Oracle官网:https://www.oracle.com/index.html,下载Oracle Database 12c Release 1 (注意:File1和File2都要下载!! ...
- Oracle Database 11g Express Editon介绍及安装
一.Oracle Database 11g Express版本介绍 公司项目开发中,使用的数据库是Oracle 10g和MySQL 5.5,最新因为开发需要,需要从后台读取一些数据.使用的客户端是PL ...
- Oracle Database Server 'TNS Listener'远程数据投毒漏洞(CVE-2012-1675)解决
环境:Windows 2008 R2 + Oracle 10.2.0.3 应用最新bundle patch后,扫描依然报出漏洞 Oracle Database Server 'TNS Listener ...
- Linux 平台安装Oracle Database 12c
1)下载Oracle Database 12cRelease 1安装介质 官方的下载地址: 1:http://www.oracle.com/technetwork/database/enterpris ...
- Oracle Database 11g Release 2(11.2.0.3.0) RAC On Redhat Linux 5.8 Using Vmware Workstation 9.0
一,简介 二,配置虚拟机 1,创建虚拟机 (1)添加三块儿网卡: 主节点 二节点 eth0: 公网 192.168.1.20/24 NAT eth0: 公网 192.168.1 ...
随机推荐
- Python Argparse模块
argparse模块 在Python中,argparse模块是标准库中用来解析命令行参数的模块,用来替代已经过时的optparse模块.argparse模块能够根据程序中的定义从sys.argv中解析 ...
- 微信小程序——报错汇总
tabBar.list[2].selectedIconPath 文件不存在 很明显是文件名错了,定义的my-acive,少写了个t,眼睛出问题了~ module "static/vant/c ...
- CodeForces512C-Pluses everywhere-模拟/数学/排列组合模板
经过研究可以发现,每一位的贡献是C(n-2,k-1)+C(n-3,k-1)...C(k-1,k-1) 同时还要注意加号全部在左边的情况. 这里还用了O(n)预处理O(1)组合数的模板.//妙啊..妙. ...
- Codeforces963C Cutting Rectangle 【数学】
错了一个小地方调了一晚上.... 题目大意: 给出最多2E+5种不同的矩形,每种有它的长h和宽v还有数量d,现在你要构造大矩形,使得在上面沿着平行于长或宽的边划刀,切出来的矩形正好是给出的所有矩形.问 ...
- 【AGC005F】Many Easy Problems FFT 容斥原理
题目大意 给你一棵树,有\(n\)个点.还给你了一个整数\(k\). 设\(S\)为树上某些点的集合,定义\(f(S)\)为最小的包含\(S\)的联通子图的大小. \(n\)个点选\(k\)个点一共有 ...
- 【XSY1098】第k小 可持久化trie
题目描述 给你一个长度为\(n\)数列\(a\),有\(m\)次操作: \(1~x\):把所有数异或\(x\) \(2~x\):把所有数与\(x\) \(3~x\):把所有数或\(x\) \(4~l~ ...
- [CF1132E]Knapsack【暴力搜索】
你有一个容量为\(w\)的背包,和\(8\)件物品,重量分别为\(1~8\)的整数,分别有\(cnt_1 ... cnt_8\),求最大容量. 解法 笨蛋chh一开始打了一个背包模板乱搞压缩容量\(j ...
- BZOJ2839集合计数
题目描述 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007.(是质数喔~ ...
- [HEOI2014]逻辑翻译(分治)
题目描述 在人类的神经系统中,每个信号都可以用?1或+1来表示.这些信号组合起来最后形成 了喜怒哀乐,酸甜苦辣,红黄绿蓝等各种各样的复杂信息.纳米探测科技的突破让生物学家 可以测量大脑中特定区域的完整 ...
- nodejs的某些api~(三)net模块
net模块和http模块是node最重要的两个模块,前者是基于TCP的封装,后者的本质也是TCP.他们通过 tcp通信,建立一个可以收发消息的web服务器.我在写的作品里面用的express也是封装的 ...