[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下插入的显示乱码,这点在以后工作中注意。

时间: 2024-09-22 09:00:06

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

01_Linux系统系统语言查询,设置Xshell工具,中文显示,测试Xshell中文字符显示,Linux中文显示乱码设置

          Xshell是一个强大的安全终端模拟软件,它支持SSH1,SSH2,以及Microsoft Windows平台的TELNETNetSarang Xshell 4 Build 0120议.使用Xshell可以快速方便的管理Linux主机等     但是有时我们使用,经常遇到.linux下中文显示乱码的情况,其实解决办法很简单,下面跟着小编来看看,如何解决XShell连接linux中文乱码 工具/原料     Linux系统(Centos)  Xshell Xshell连接L

代码-中文字符拆分显示乱码问题

问题描述 中文字符拆分显示乱码问题 程序主要代码: int main (int argc, char argv[]) { aes256_context ctx; uint8_t key[32]; char *filename1="/home/phaeton/user/my_code/source.txt"; char *filename2="/home/phaeton/user/my_code/desc.txt"; int fctl1=0,fctl2=0;// 文件

Android LibGDX游戏引擎开发教程(八) 中文字体的显示和绘制(下)

在上一篇的文章中,我们介绍了Hiero这个非常好用工具的使用,但是LIbgdx的BitmapFont不支持多图,常 用汉字3500个,你总不能用hiero自己做吧,那怎么办呢?这其实微软早就解决这个问题了,它给我们提供了 这个TTF字库,保存汉字字,方便我们使用. 一.FreeType的使用 1.打开解压好的0.9.8版的 包,找到里面的extensions文件夹 开发教程(八) 中文字体的显示和绘制(下)-android 绘制字体"> 打开后,再点击进入gdx-freetype文件夹 找

Android LibGDX游戏引擎开发教程(七) 中文字体的显示和绘制(上)

在字体的显示和绘制中,Libgdx的作者(Mario Zechner,美国人)给我们提供了一个非常好用的工具 --Hiero,那么下面就来看看它具体的使用方法. 一.Hiero工具的使用 1.Hiero工 具的下载地址 开发教程(七) 中文字体的显示和绘制(上)-android 绘制字体"> 2.下载结束后,双击hiero.jar文件打开,我们可以看到Hiero的一些基本功能,相比来说作者做的 还是比较简单易懂的.从界面上知道,它包括很多选项,可以制作特效.改变背景颜色.设置内间距等等,右

java-当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码?

问题描述 当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码? 当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码? 怎么才能解决问题,跟jdbc driver Manager的设置有关系吗? 解决方案 数据库字符集 与 页面编码 都使得 是 uft-8?得统一 解决方案二: 建议编码格式采用UTF-8的格式 解决方案三: 在使用数据的每一个节点上,其编码方式必须要一致否则就会出现乱码.特别是使用MySQL时,客户端,连接器.数据库

oracle11g-SQLDeveloper查询中文字段无法显示

问题描述 SQLDeveloper查询中文字段无法显示 Oracle SQL Developer查询结果包含中文的项全部显示不出来,但SQL Plus里能显示,字符集客户端和服务器端都是CHS16GBK,求怎么解决 解决方案 是你客户端的问题,换一个客户端看看,服务器是可以查询的 解决方案二: Oracle SQL Developer是否有中文版,安装试试,或者设置中找一下语言支持等

图片-请大神帮忙!!!用mysql制表时性别输入中文却不能显示

问题描述 请大神帮忙!!!用mysql制表时性别输入中文却不能显示 解决方案 你安装mysql的时候没选utf8 改下编码就可以

博客代码编辑-html 代码编辑中文怎么会显示乱码呢?

问题描述 html 代码编辑中文怎么会显示乱码呢? 原文是英文,但是直接再代码中翻译成中文添加上去就会变成乱码,新手完全不懂为什么,请大神们赐教! 解决方案 要在html 的page属性里面设置编码方式:UTF-8<%@ page language=""java"" contentType=""text/html; charset=UTF-8"" pageEncoding=""UTF-8"&

编码-iOS开开发 post 的方式提交 中文字符串 后台显示乱码

问题描述 iOS开开发 post 的方式提交 中文字符串 后台显示乱码 NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); [_abbreviationBtn.titleLabel.text dataUsingEncoding:enc]; NSString *string = [[NSString alloc]initWithData:[_abbrevi