知识大全 Oracle中的汉字显示
Posted 数据库
篇首语:三人行必有我师焉。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle中的汉字显示相关的知识,希望对你有一定的参考价值。
Oracle中的汉字显示 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Oracle以其强大的数据库管理能力 高安全性 多用户操作时数据的一致性 赢得了用户的广泛青睐 获得了很高的市场占有率 但是 它在汉字信息显示时存在多种字符集 且相互之间不能通用 这就给多数据库之间的数据共享带来了一些麻烦 笔者从事Oracle数据库管理及应用软件的开发工作多年 常遇到Oracle数据库汉字显示的问题 主要现象是汉字显示为不可识别的乱码 信息无法使用 本文介绍笔者在实际工作中的一点心得 与大家一起探讨 中英文Oracle之间的数据共享 在笔者的实际工作中 有为多个二级厂矿开发的基于Oracle数据库的应用程序 而各个单位所用的Oracle数据库 在安装时所采用的字符集各不相同 有的用英文字符集 有的用中文字符集 当表中的数据只是数字 英文信息时 数据共享是可以的; 当表中含有汉字信息时 以正常的方式进行共享 就看不到汉字了 而只会见到一些乱码 下面以Oracle 版的数据库为例说明解决方法 假设源数据库是中文字符集 目标数据库是英文字符集 利用 Delphi作为转换工具 实际的步骤依据导入和导出有所不同 导出数据时步骤如下 > 配置客户端字符集 首先将本机Oracle客户端的字符集配置得和源数据库的字符集一致 打开注册表 找到HKEY_LOCAL_MACHINE 选下面的SOFARE 再选Oracle 在注册表中找到NLS_LANG 将值改为 AMERICAN_AMERICA ZHS CGB 配置数据库别名 用Delphi的工具SQL EXPLORER配置两个数据库假名 其中DBSOURCE 用来连接源数据库 DBMIDDLE 用来连接中间数据库(Paradox表) 导出 打开Delphi的工具Database DeskTop 在主菜单中选Tools下面的Utilities 再选Copy 会弹出一个新的对话框 在Alias(数据库别名)中选择DBSOURCE 并输入用户口令 在打开的数据库中选择需要的表 点击OK按钮 在Alias(数据库别名)中选择DBMIDDLE 在File Name栏中输入目标表名 点击COPY按钮 如果显示: Copy Successfully Completed 则数据导出成功 导入数据时步骤如下: 配置客户端字符集 首先将本机Oracle客户端的字符集配置得和目标数据库的字符集一致 打开注册表 找到HKEY_LOCAL_MACHINE 选下面的SOFARE 再选Oracle 在注册表中找到NLS_LANG 将值改为 AMERICAN_AMERICA US ASCII 配置数据库别名 用Delphi的工具SQL EXPLORER配置一个数据库别名 DBTARGET 用来连接目标数据库 导入 打开Delphi的工具Database DeskTop 在主菜单中选Tools下面的Utilities 再选Copy 会弹出一个新的对话框 在Alias(数据库别名)中选择DBMIDDLE 在打开的数据库中选择需要的表 点击OK按钮 在Alias(数据库别名)中选择DBTARGET 并输入用户口令 在File Name栏中输入目标表名 点击COPY按钮 如果显示: Copy Successfully Completed 则数据导入成功 此时 在目标数据库中查看导入的表 汉字显示就正常了 小型机和PC服务器之间的 数据共享 笔者所在公司有小型机Alpha 作为数据库服务器 上面有多个二级单位使用 随着时间的推移 数据增加 用户增加 小型机不堪重负 运行速度缓慢 不能满足日常的工作需要 为了缓解这种情况 有部分单位自备了PC服务器 将数据从小型机上移植下来 建立了自己单独的数据库 两个数据库都安装的是英文字符集 从小型机上导出的数据 装入到PC服务器 遇到汉字信息也不能正常显示 这主要是因为两者的操作系统不同 小型机上是VMS系统 而PC服务器上是NT 有两种方法可以解决这个问题: 用仿真终端的方式将数据导出 用Telnet连接到小型机上 执行exp 将某个用户的数据库导出为一个* dmp文件 保存在PC服务器上 用FTP将数据取到本机 用FTP连接到小型机上 执行bin 再执行Get 将数据(* dmp文件)以二进制的方式传输到本机 注意这里必须用二进制方式 否则数据无法正常使用 得到小型机上的数据后 再将本机客户端配置得和PC服务器的字符集一致 将数据导入PC服务器数据库中 则一切数据均可使用了 数据库升级 在数据库的使用中常会遇到Oracle的版本升级 如何在保证原来数据安全的情况下 将数据库平稳地升级?这里分两种情况 英文字符集的安装 如果原来的数据库安装采用的是英文字符集 则从Oracle 升级到Oracle 时 只要将数据字典Props$中的参数修改为 US ASCII 即可 以系统DBA的身份登录SQL*PLUS 执行如下的命令 修改数据字典 SQL>UPDATE PROPS$ SET VALUE$= US ASCII WHERE NAME= NLS_CHARACTERSET ; SQL>MIT; 注意 修改后必须重新启动数据库 配置才起作用 然后将从Oracle 中文字符集的安装 如果原来的数据库安装采用的是中文字符集 直接将数据导入 是否可用呢?不可以 汉字显示为乱码 原因是Oracle 的中文字符集的参数是 ZHS CGB 而Oracle 的中文字符集的参数是 ZHS GBK 两者不一样 为了能正常地使用 必须修改Oracle 的数据字典的参数为 ZHS CGB 具体的修改步骤如下 用系统DBA的身份登录SQL*PLUS 执行 SQL>UPDATE PROPS$ SET VALUE$= ZHS CGB WHERE NAME= NLS_CHARACTERSET ; SQL>MIT; 注意 修改后必须重新启动数据库 配置才起作用 然后将从Oracle 导出的数据 导入Oracle 的数据库中即可 cha138/Article/program/Oracle/201311/17003相关参考
Oracle数据库中汉字长度的问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 问题 var
能够在非中文平台上显示汉字吗? Java程序能够使用操作系统所提供的字体因此只要你的操作系统上安装有一个支持 中文的字体你就可以在你的程序中显示汉字为了达到这个目的首先你必须创建一 个F
Struts的汉字显示问题终结解决方案 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 看了网上的
为什么搜狗输入法这样啊!打上许多拼音而汉字只有几个显示不全?设定里面你看一下,要设全拼,中文,半形!为什么只有QQ拼音一种输入法,搜狗输入法下载却不显示?唉,回答好多类似的问题了。首先,你要确定你安装
在项目开发中树型结构是经常被使用的通常情况下我们对查询的结果集使用一些免费的js文件就能达到很好的显示效果比如 但是有时候我们需要对下拉列表也提供树型结构(比如论坛的板块跳转)这个时候我们就
JSP中的汉字编码问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 网上就JSP/Servle
如何看待汉字和中国传统文化在当前社会背景中的发展1、关于汉字发展史的三个阶段在汉字发展史上,有不同的发展阶段。传统的分期是以汉字字型变化为标准,即以大篆、小篆、隶书、楷书为标准划分为四个阶段。这项成果
关于Oracle客户端显示乱码问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 看下面演示与分
影响Oracle中文显示的字符集分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 原因分析
调查显示MySQL进一步蚕食Oracle市场 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 甲骨