ORACLE

您所在的位置:网站首页 sqlplus查询结果显示 ORACLE

ORACLE

2023-09-28 20:37| 来源: 网络整理| 查看: 265

一、介绍:

           1、Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索

数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。

 2、如何查询Oracle的字符集 ORACLE有三方面的字符集,一是oracel server端的字符集,二是oracle client端的字符集;三是dmp文件的字符集。在做数据导入的时候,需要这三个字符集都一致才能正确导入。

2.1--查看当前DOS输出字符集 chcp --查看当前DOS编码集

chcp 代码页 --修改当前DOS编码集

2.2 --查看oracle server端的字符集(这个是最终显示的字符集)

select userenv('language') from dual;

!:由上面可以看到此时的Oracle服务端的编码集为:chinese_china.AL32UTF8;(utf-8)

而我们的DOS的编码集为:GBK Supports Simplified Chinese(支持简体中文的GBK)(活动代码页 936)

发生乱码,且为 “?”。

在这里给出 代码页 对应的编码集

* 437 — The original IBM PC code page * 932 — Supports Japanese * 936 — GBK Supports Simplified Chinese * 949 — Supports Korean * 950 — Supports Traditional Chinese * 1200 — UTF-16LE Unicode little-endian * 1201 — UTF-16BE Unicode big-endian * 65000 — UTF-7 Unicode * 65001 — UTF-8 Unicode * 10000 — Macintosh Roman encoding (followed by several other Mac character sets) * 10007 — Macintosh Cyrillic encoding * 10029 — Macintosh Central European encoding * 20127 — US-ASCII The classic US 7 bit character set with no char larger than 127 * 28591 — ISO-8859-1 (followed by ISO-8859-2 to ISO-8859-15)

2.3 -- 设置Oracle client端的字符集让其与Oracle server端一致

从上面的操作我们可以看到oracle server端的编码集为 utf-8,我们也把 oracle client端设置为utf-8)

进入当前用户下,执行:

set NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8

或者

set NLS_LANG=american_america.AL32UTF8

此时我们再进入sqlplus看一下中文的显示情况:

从上面可以看出当 oracle server和oracle client均为utf-8,而dos的编码为 gbk,结果显示乱码,且乱码为“涓滆帪”;

这应该是utf-8编码 转到gbk编码是发生的乱码!。

2.4 --将 DOS 编码集设置为 oracle 两端一致的编码集 utf-8,也就是代码页:65001

再次sqlplus,并查询数据,结果如下:

这时发现还是乱码,不急我们要修改窗口属性,改变字体:

在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3