Welcome 微信登录

首页 / 数据库 / MySQL / Oracle数据库字符集研究

Oracle服务器:select * from NLS_database_PARAMETERS where parameter like "%CHARACTERSET%";
PARAMETER                      VALUE                                 
------------------------------ ----------------------------------------
NLS_CHARACTERSET             WE8MSWIN1252                           
NLS_NCHAR_CHARACTERSET       AL16UTF16 表t1:desc t1;
Name Null Type         
---- ---- --------------
ID        NUMBER       
NAME      NVARCHAR2(100)SQL Developer 查询和insert中文C:sqldevelopersqldeveloperinsqldeveloper.confAddVMOption -Doracle.jdbc.convertNcharLiterals=truePreference -- > Environment, Encoding选择UTF-16ALTER SESSION SET NLS_LANGUAGE="SIMPLIFIED CHINESE";
TRUNCATE TABLE T1;
INSERT INTO T1 VALUES(1,N"啊");
insert into t1 values(2, "啊");
COMMIT;
col name format a10;
select * from t1;ID NAME
---------- ----------
1 啊2 ¿N"啊"表示nvarchar类型的数据。以下内容未测试过:JDBC的配置-Doracle.jdbc.defaultNChar=true
-Doracle.jdbc.convertNcharLiterals=trueLinux下SQLPlusNLS_LANG=AMERICAN_AMERICA.AL32UTF8
LC_CTYPE="zh_CN.utf8"
ORA_NCHAR_LITERAL_REPLACE=truevarchar2的长度varchar2 类型的字段长度以字符或字节来计算,如varchar2(10 byte), varchar2(10 char)。通常,byte/char都被省略,这时NLS_LENGTH_SEMANTICS定义了默认值。show parameters NLS_LENGTH_SEMANTICS;
NAME               TYPE        VALUE
-------------------- ----------- ----
nls_length_semantics string      BYTE数据库的字符集select * from nls_database_parameters where parameter like "%CHARACTER%"
PARAMETER               VALUE       
------------------------- -----------
NLS_NUMERIC_CHARACTERS    .,         
NLS_CHARACTERSET          AL32UTF8   
NLS_NCHAR_CHARACTERSET    AL16UTF16   AL32UTF8编码的字符长度是可变的,1-4字节,ASCII字符是1字节。如下所示:desc t2;
Name  Null Type       
----- ---- -----------
TNAME      VARCHAR2(2)select * from t2;
TNAME
-----
12   可以看出数字1和2各占一个字节。查看某字符在当前字符集下的字节数select lengthb ("C"), lengthb("啊"), length(" ") FROM DUAL;
LENGTHB("C") LENGTHB("啊") LENGTH("R")
------------ ------------ ------------
         1            3            2更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12 Oracle Index 和null 研究Ubuntu下使用Python连接MySQL数据库相关资讯      Oracle字符集 
  • Oracle 字符集小结  (08/27/2015 16:51:54)
  • 怎样让Oracle支持中文? 语言_地域  (02/17/2014 15:14:22)
  • Oracle字符集的查看和修改  (07/18/2013 16:28:23)
  • Oracle关于字符集的分析  (09/23/2014 18:55:21)
  • Oracle因安装时未设定字符集导致中  (01/26/2014 19:11:52)
  • 迁移数据时Oracle字符集的转换  (09/11/2012 15:21:04)
本文评论 查看全部评论 (0)
表情: 姓名: 字数