[20160325]bbed 中文字符显示的显示问题

[20160325]bbed 中文字符显示的显示问题.txt

--如果使用bbed查看记录存在一个小问题,如果里面的字符包含中文,显示的是乱码,今天正好看一个英文数据库,字符集
--AMERICAN_AMERICA.US7ASCII,发现中文居然可以正常显示,这样如果使用bbed看中文完成可以改变字符集来查看。自己
--在中文数据库测试看看。

1.环境:
SCOTT@book> @ &r/ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

$ env | grep NLS
NLS_LANG=AMERICAN_AMERICA.zhs16gbk
NLS_TIMESTAMP_TZ_FORMAT=YYYY-MM-DD HH24:MI:SS.FF TZH:TZM
NLS_TIMESTAMP_FORMAT=YYYY-MM-DD HH24:MI:SS.FF
NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS

2.建立测试表:
SCOTT@book> create table tx (id number,name varchar2(20),cr_date date);
Table created.

insert into tx  values (1,'中文测试',sysdate);
insert into tx  values (2,'a1234',sysdate);
commit ;
alter system checkpoint ;

SCOTT@book> select rowid,tx.* from tx ;
ROWID                      ID NAME                 CR_DATE
------------------ ---------- -------------------- -------------------
AAAWe0AAEAAAAI7AAA          1 中文测试             2016-03-25 10:17:26
AAAWe0AAEAAAAI7AAB          2 a1234                2016-03-25 10:17:37

SCOTT@book> @ &r/rowid AAAWe0AAEAAAAI7AAA
    OBJECT       FILE      BLOCK        ROW DBA                  TEXT
---------- ---------- ---------- ---------- -------------------- ----------------------------------------
     92084          4        571          0 4,571                alter system dump datafile 4 block 571 ;

3.使用bbed观察:
$ env | grep NLS_LANG
NLS_LANG=AMERICAN_AMERICA.zhs16gbk

BBED> set dba  4,571
        DBA             0x0100023b (16777787 4,571)

BBED> p * kdbr[1]
rowdata[0]
----------
ub1 rowdata[0]                              @8145     0x2c

BBED> x /2rnct
rowdata[0]                                  @8145
----------
flag@8145: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8146: 0x01
cols@8147:    3

col    0[2] @8148: 2
col    1[5] @8151: a1234
col    2[7] @8157: 2016-03-25 10:17:37

rowdata[20]                                 @8165
-----------
flag@8165: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8166: 0x01
cols@8167:    3

col    0[2] @8168: 1
col    1[8] @8171: ........
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
col    2[7] @8180: 2016-03-25 10:17:26

--可以发现~处显示...,无法显示中文。

4.如果定义export NLS_LANG=AMERICAN_AMERICA.US7ASCII,再测试:
$ env | grep NLS_LANG
NLS_LANG=AMERICAN_AMERICA.US7ASCII

BBED> x /2rnct
rowdata[0]                                  @8145
----------
flag@8145: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8146: 0x01
cols@8147:    3

col    0[2] @8148: 2
col    1[5] @8151: a1234
col    2[7] @8157: 2016-03-25 10:17:37

rowdata[20]                                 @8165
-----------
flag@8165: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8166: 0x01
cols@8167:    3

col    0[2] @8168: 1
col    1[8] @8171: 中文测试
col    2[7] @8180: 2016-03-25 10:17:26

--补充注意,如果在这个环境下插入中文,会出现乱码?补充测试:
$ env | grep NLS_LANG
NLS_LANG=AMERICAN_AMERICA.US7ASCII

SCOTT@book> insert into tx  values (3,'文化',sysdate);
1 row created.

SCOTT@book> commit ;
Commit complete.

SCOTT@book> select rowid,tx.* from tx;
ROWID                      ID NAME                 CR_DATE
------------------ ---------- -------------------- -------------------
AAAWe0AAEAAAAI7AAA          1 ????                 2016-03-25 10:17:26
AAAWe0AAEAAAAI7AAB          2 a1234                2016-03-25 10:17:37
AAAWe0AAEAAAAI+AAA          3 ????                 2016-03-25 10:24:23
--显示乱码。修改回来:

$ export NLS_LANG=AMERICAN_AMERICA.zhs16gbk
SCOTT@book> select rowid,tx.* from tx;
ROWID                      ID NAME                 CR_DATE
------------------ ---------- -------------------- -------------------
AAAWe0AAEAAAAI7AAA          1 中文测试             2016-03-25 10:17:26
AAAWe0AAEAAAAI7AAB          2 a1234                2016-03-25 10:17:37
AAAWe0AAEAAAAI+AAA          3 ????                 2016-03-25 10:24:23

--原来插入的显示正常,但是在英文字符集US7ASCII下插入的显示乱码,这点在以后工作中注意。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-2063563/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/267265/viewspace-2063563/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值