`
berdy
  • 浏览: 509424 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ORACLE客户端的字符编码设置

阅读更多
  今天在利用PL/SQL DEVELOPER 往oracle中导入日文数据时,总是出现乱码。我想肯定是客户端和服务端的字符编码
设置不一致导致的。上网google得知oralce字符编码设置和查询的一些方法,记录如下:

1. NLS_LANG 参数组成
NLS_LANG参数由以下部分组成:
NLS_LANG=<Language>_<Territory>.<Clients Characterset>

NLS_LANG各部分含义如下:
LANGUAGE指定:
-Oracle消息使用的语言
-日期中月份和日显示
TERRITORY指定
-货币和数字格式
-地区和计算星期及日期的习惯
CHARACTERSET:
-控制客户端应用程序使用的字符集
通常设置或者等于客户端(如Windows)代码页
或者对于unicode应用设置为UTF8

在Windows上查看当前系统的代码页可以使用chcp命令:
E:\>chcp
活动的代码页: 936

代码页936也就是中文字符集 GBK,在Microsoft的官方站点上,我们可以遭到关于936代码页的具体编码规则,请参考以下链接:
http://www.microsoft.com/globaldev/reference/dbcs/936.htm

2. 查看 NLS_LANG 的方法
Windows使用:

echo %NLS_LANG%
如:
E:\>echo %NLS_LANG%
AMERICAN_AMERICA.ZHS16GBK

Unix使用:

env|grep NLS_LANG
如:
/opt/oracle>env|grep NLS_LANG
NLS_LANG=AMERICAN_CHINA.ZHS16GBK

Windows客户端设置,可以在注册表中更改NLS_LANG,具体键值位于:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\
xx指存在多个ORACLE_HOME时系统编号。

3. 查看数据库当前字符集参数设置
SELECT * FROM v$nls_parameters;

4. 查看数据库可用字符集参数设置
SELECT * FROM v$nls_valid_values;

5. 客户端 NLS_LANG 的设置方法
Windows:
# 常用中文字符集
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
# 常用unicode字符集
set NLS_LANG=american_america.AL32UTF8
可以通过修改注册表键值永久设置
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS_LANG

Unix:
# 常用unicode字符集
export NLS_LANG=american_america.AL32UTF8
# 常用中文字符集
export NLS_LANG="Simplified Chinese_china".ZHS16GBK
可以编辑 bash_profile 文件进行永久设置
vi .bash_profile
NLS_LANG="Simplified Chinese_china".ZHS16GBK export NLS_LANG
# 使 bash_profile 设置生效
source .bash_profile


分享到:
评论

相关推荐

    Oracle客户端:instantclient-basic-nt-19.8.0.0.0dbru.zip

    1、下载并解压Oracle客户端(要记住解压路径) instantclient-basic-nt-19.8.0.0.0dbru.zip(我电脑上用的是这个版本连接的Oracle11g) 3、配置window操作系统环境变量(新建以下两个变量) 此电脑(右键)→属性→...

    oracle 字符集乱码解决

    由于历史的原因,早期的oracle...而在SELECT的过程中,Oracle同样检查发现数据库与客户端的字符集设置是相同的,所以它也将存入的内容原封不动地传送到客户端,而客户端操作系统识别出这是汉字编码所以能够正确显示。

    oracle查看字符集后修改oracle服务端和客户端字符集的步骤

    1.oracle server端字符集查询 代码如下:select userenv(’language’) from dual; server字符集修改: 将数据库启动到RESTRICTED模式下做字符集更改: 代码如下:SQL&gt;conn /as sysdba SQL&gt;shutdown immediate;  ...

    Oracle将字符编码从GBK转到UTF8,如何操作比较稳妥?

    朋友问: 有个学校oracle数据库的编码是GBK,而且库里边已经有很多生产数据了,现在想改成UTF8的,如果执行了这步操作,会出现哪些问题? 我的回答: 因为utf8的库中文占3个byte,... 您可能感兴趣的文章:php字符编码

    查看oracle数据库的编码及修改编码格式的方法

    首先查看oracle数据库的编码 SQL&gt; select * from nls_database_...oracle客户端编码 SQL&gt; select * from nls_instance_parameters where parameter='NLS_LANGUAGE'; PARAMETER ——————– VALUE ——————–

    修改oracel 字符集

    修改oracel 字符集 查询Oracle字符集(PLSQL命令窗口) (1).数据库服务器字符集 ...客户端字符集环境其来源于v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表。 (3).会话字符集环境

    解决python通过cx_Oracle模块连接Oracle乱码的问题

    用python连接Oracle是总是乱码,最有可能的是oracle客户端的字符编码设置不对。 本人是在进行数据插入的时候总是报关键字”From”不存在,打印插入的Sql在pl/sql中进行插入,没有问题。所以,后来从字符集编码上去...

    Oracle自学(学习)材料 (共18章 偏理论一点)

    ALTER TABLESPACE 8-25 为表空间的创建设置 ORACLE 管理文件(OMF) 8-27 使用 OMF 创建表空间 8-28 获得表空间的信息 8-29 小结 8-29 9 储存结构与关系 目标 9-2 概述 9-3 段的类型 9-4 储存子句的优先次序 9-7 片的...

    ORACLE9i_优化设计与系统调整

    §10.5 采用具有编码的设计方法 115 §10.6 建立公共字典表 115 §10.7 哪种类型的表设为cache 方式 116 §10.8 数据表和索引分开原则 116 §10.9 是否采用簇和分区 116 §10.10 表和索引的空间预分配 116 §10.11 ...

    c#程序,oracle使用Devart驱动解决第第三方库是us7ascii,数据乱码的问题

    最近做项目,要跟对方系统的库进行读写,结果发现对方采用的是oracle的us7ascii编码,我们系统默认采用的是ZHS16GBK,导致我们客户端读取和写入对方库的数据都是乱码,搜索网上,发现需要采用独立的oracle驱动去处理...

    简单的ADO.net数据访问客户端

    类似的,可以创建访问Oracle,Sqlite或是其他数据库的客户端,只需要找到对应的DbProviderFactory实例即可。 基本数据库操作 基础CRUD // 查询 string productName = (string)Db.Northwind.Scalar( "SELECT ...

    pdo_oci:pdo_oci 在 php-5.6 上运行

    如果 ORACLE 的编码为 SJIS 且客户端为 UTF-8,则字符串将被截断。 如果 ORACLE 的 SJIS 数据包含 HANKAKU-KANA,则可以截断字符串。 修复了 OIC(Oracle 即时客户端)12.1 的 config.m4。 修复了 pdo_oci.c 以...

    Oracle事例

    可以在服务器端,也可以在客户端建立,但必须注意,两台服务器之间 数据库必须可以互访,必须各有各自的别名数据库 18、查看数据库链路 select * from all_db_links; select * from user_db_links; 查询 select...

    SMS COM Server V1.2.0

    6. 对发送的短信自动检测以适当的编码格式发送, 中文70个字符, 全英文140个字符  7. 系统不支持超长短信, 对超出长度的待发短信自动截取, 超出部分丢弃.  8. 提供一个简单的演示客户端, 可以监视系统的运行情况, ...

    风越ASP代码生成器FireAspCreatorv2.9.rar

    02、支持Microsoft SQL Server、Microsoft Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接 03、支持从数据表、视图(Access为查询)中读取数据字段 04、支持通过数据表中的组合主键传递参数 05、...

    风越.net代码生成器 v3.5

    02、支持Microsoft SQL Server、Microsoft Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接 03、支持从数据表、视图(Access为查询)中读取数据字段 04、支持通过数据表中的组合主键传递参数 05、...

    风越asp代码生成器 V3.5

    02、支持Microsoft SQL Server、Microsoft Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接 03、支持从数据表、视图(Access为查询)中读取数据字段 04、支持通过数据表中的组合主键传递参数 05、...

    风越.Net代码生成器 [FireCode Creator] V1.3 精简版

    02、支持Microsoft SQL Server、Microsoft Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接 03、支持从数据表、视图(Access为查询)中读取数据字段 04、支持通过数据表中的组合主键传递参数 05、...

    风越.net代码生成器v2.9

    02、支持Microsoft SQL Server、Microsoft Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接 03、支持从数据表、视图(Access为查询)中读取数据字段 04、支持通过数据表中的组合主键传递参数 05、...

    风越ASP代码生成器2.8

    02、支持Microsoft SQL Server、Microsoft Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接 03、支持从数据表、视图(Access为查询)中读取数据字段 04、支持通过数据表中的组合主键传递参数 05、...

Global site tag (gtag.js) - Google Analytics