今天在利用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
分享到:
相关推荐
1、下载并解压Oracle客户端(要记住解压路径) instantclient-basic-nt-19.8.0.0.0dbru.zip(我电脑上用的是这个版本连接的Oracle11g) 3、配置window操作系统环境变量(新建以下两个变量) 此电脑(右键)→属性→...
由于历史的原因,早期的oracle...而在SELECT的过程中,Oracle同样检查发现数据库与客户端的字符集设置是相同的,所以它也将存入的内容原封不动地传送到客户端,而客户端操作系统识别出这是汉字编码所以能够正确显示。
1.oracle server端字符集查询 代码如下:select userenv(’language’) from dual; server字符集修改: 将数据库启动到RESTRICTED模式下做字符集更改: 代码如下:SQL>conn /as sysdba SQL>shutdown immediate; ...
朋友问: 有个学校oracle数据库的编码是GBK,而且库里边已经有很多生产数据了,现在想改成UTF8的,如果执行了这步操作,会出现哪些问题? 我的回答: 因为utf8的库中文占3个byte,... 您可能感兴趣的文章:php字符编码
首先查看oracle数据库的编码 SQL> select * from nls_database_...oracle客户端编码 SQL> select * from nls_instance_parameters where parameter='NLS_LANGUAGE'; PARAMETER ——————– VALUE ——————–
修改oracel 字符集 查询Oracle字符集(PLSQL命令窗口) (1).数据库服务器字符集 ...客户端字符集环境其来源于v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表。 (3).会话字符集环境
用python连接Oracle是总是乱码,最有可能的是oracle客户端的字符编码设置不对。 本人是在进行数据插入的时候总是报关键字”From”不存在,打印插入的Sql在pl/sql中进行插入,没有问题。所以,后来从字符集编码上去...
ALTER TABLESPACE 8-25 为表空间的创建设置 ORACLE 管理文件(OMF) 8-27 使用 OMF 创建表空间 8-28 获得表空间的信息 8-29 小结 8-29 9 储存结构与关系 目标 9-2 概述 9-3 段的类型 9-4 储存子句的优先次序 9-7 片的...
§10.5 采用具有编码的设计方法 115 §10.6 建立公共字典表 115 §10.7 哪种类型的表设为cache 方式 116 §10.8 数据表和索引分开原则 116 §10.9 是否采用簇和分区 116 §10.10 表和索引的空间预分配 116 §10.11 ...
最近做项目,要跟对方系统的库进行读写,结果发现对方采用的是oracle的us7ascii编码,我们系统默认采用的是ZHS16GBK,导致我们客户端读取和写入对方库的数据都是乱码,搜索网上,发现需要采用独立的oracle驱动去处理...
类似的,可以创建访问Oracle,Sqlite或是其他数据库的客户端,只需要找到对应的DbProviderFactory实例即可。 基本数据库操作 基础CRUD // 查询 string productName = (string)Db.Northwind.Scalar( "SELECT ...
如果 ORACLE 的编码为 SJIS 且客户端为 UTF-8,则字符串将被截断。 如果 ORACLE 的 SJIS 数据包含 HANKAKU-KANA,则可以截断字符串。 修复了 OIC(Oracle 即时客户端)12.1 的 config.m4。 修复了 pdo_oci.c 以...
可以在服务器端,也可以在客户端建立,但必须注意,两台服务器之间 数据库必须可以互访,必须各有各自的别名数据库 18、查看数据库链路 select * from all_db_links; select * from user_db_links; 查询 select...
6. 对发送的短信自动检测以适当的编码格式发送, 中文70个字符, 全英文140个字符 7. 系统不支持超长短信, 对超出长度的待发短信自动截取, 超出部分丢弃. 8. 提供一个简单的演示客户端, 可以监视系统的运行情况, ...
02、支持Microsoft SQL Server、Microsoft Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接 03、支持从数据表、视图(Access为查询)中读取数据字段 04、支持通过数据表中的组合主键传递参数 05、...
02、支持Microsoft SQL Server、Microsoft Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接 03、支持从数据表、视图(Access为查询)中读取数据字段 04、支持通过数据表中的组合主键传递参数 05、...
02、支持Microsoft SQL Server、Microsoft Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接 03、支持从数据表、视图(Access为查询)中读取数据字段 04、支持通过数据表中的组合主键传递参数 05、...
02、支持Microsoft SQL Server、Microsoft Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接 03、支持从数据表、视图(Access为查询)中读取数据字段 04、支持通过数据表中的组合主键传递参数 05、...
02、支持Microsoft SQL Server、Microsoft Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接 03、支持从数据表、视图(Access为查询)中读取数据字段 04、支持通过数据表中的组合主键传递参数 05、...
02、支持Microsoft SQL Server、Microsoft Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接 03、支持从数据表、视图(Access为查询)中读取数据字段 04、支持通过数据表中的组合主键传递参数 05、...