经典的问题 建议你在ITPUB上查询相关的帖子 才能知道字符集的具体问题 实在是很复杂
成都创新互联公司成立与2013年,是专业互联网技术服务公司,拥有项目成都做网站、网站制作、成都外贸网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元兴海做网站,已为上家服务,为兴海各地企业和个人服务,联系电话:18980820575
该问题可能需要如下的处理
1 B在使用NLS_LANG 是英文的时候,提取A数据库的内容,制作成ANSI SQL脚本
这个使用,ANSI出来的sql脚本在B机器上看,应该是中文,没有乱码。(原因是你的Windows的非UNICODE解析一定设置成了中文,或者本来就是中文的OS)
2 B在使用NLS_LANG 是中文的时候 连接C数据库 跑刚才的脚本
3 B在使用NLS_LANG 是中文的时候 从C读取的数据不会乱码
根本的原因不是数据库的版本问题,是原来8数据库的字符集设置犯了严重的错误 该DBA没有理解正确的字符集概念
怪不得这么高的悬赏 是个好问题
A
account hierarchy(帐户分层结构)
Oracle 财务系统的一种特性,您可以用来执行汇总层资金检查。采用帐户分层结构,Oracle 采购管理系统和总帐管理系统可以快速确定明细帐户累计成的汇总帐户。
Account segment(帐户段)
会计弹性域多达 30 个不同节中的其中一个,这些节一起构成您的总帐帐户代码。段与段之间通过一个您所选定的符号(如 -、/ 或 \)分开。每一个段通常表示业务结构的一个要素,如公司、成本中心或帐户。
Account segment value(帐户段值)
定义特定值集唯一值的一系列字符和说明。
account structure(帐户结构)
请参阅:会计弹性域结构
accounting calendar(会计日历)
Oracle 总帐管理系统中定义会计期和会计年度的日历。您可以使用“会计日历”窗口来定义会计日历。Oracle 财务分析程序可以使用会计日历自动创建“时间”维。
Accounting Flexfield(会计弹性域)
用于标识 Oracle 财务应用产品中的总帐帐户的代码。每个会计弹性域段值与科目表中的一个汇总或累计帐户对应。
Accounting Flexfield structure(会计弹性域结构)
为满足组织的特定需要而定义的帐户结构。您可以在会计弹性域结构中选择段数及每个段的长度、名称和顺序。
Accounting Flexfield value set(会计弹性域值集)
一组值以及这一组值的属性。例如,您为帐户段指定用于标识业务特定要素的值长度和值类型(如公司、分部、区域或产品)。
ad hoc(即席)
与特殊用途相关并应用于特殊用途。例如,即席税码或即席数据库查询。
aggregate balance(汇总余额)
天数范围内的日终余额总和。有三种汇总余额类型:期初至今 (PTD)、季初至今 (QTD) 和年初至今 (YTD)。所有这三种类型余额均存储在每个日历日的总帐管理系统数据库中。
allocation entry(分配分录)
您用来分配收入或成本的经常性日记帐分录。
archive table(存档表)
总帐管理系统将您的帐户余额从余额表 (GL_BALANCES) 复制到存档表 (GL_ARCHIVE_BALANCES)中;将日记帐明细从日记帐分录表(GL_JE_BATCHES、GL_JE_HEADERS 和 GL_JE_LINES)复制到存档表(GL_ARCHIVE_BATCHES、GL_ARCHIVE_HEADERS 和 GL_ARCHIVE_LINES)中。
archive tablespace(存档表空间)
存储存档表的表空间。表空间是用来划分 Oracle 数据库以容纳表的区域。
attribute(属性)
将二维值链接或关联起来的 Oracle 财务分析程序数据库对象。例如,您可以定义将销售分区维与区域维关联的属性,以便您依据区域选择销售分区数据。
AutoCopy - budget organizations(自动复制 - 预算组织)
通过从现有预算组织复制帐户来自动创建新预算组织的一个特性。
AutoCopy - budgets(自动复制 - 预算)
通过从现有预算复制所有数据来自动创建新预算的一个特性。“预算自动复制”仅从打开的预算年度复制预算额。
AutoOffset(自动抵销)
自动确定分配分录的抵销(或贷项)分录的一个特性。“自动抵销”自动计算分配分录中的所有先前日记帐行的净额、改变符号并生成抵销金额。
AutoReduction(自动缩减)
列表窗口中的一个 Oracle 应用产品功能,该功能允许将列表缩短,使您可以在选择最终值之前浏览值的子集。正如您输入其它字符时“自动缩减”会不断缩减值列表一样,按下 [Backspace] 可以不断扩充列表。
AutoSelection(自动选择)
列表窗口中的一个功能,允许您使用单击键从列表中选择有效值。显示列表窗口时,您可以在窗口中键入选项的第一个字符。如果以您输入的字符开始的选项只有一个,则“自动选择”将选定此选项,关闭列表窗口,并在相应字段中输入值。
AutoSkip(自动跳过)
弹性域的特有功能,只要您在当前弹性域段中输入一个有效值,Oracle 应用产品就会自动将光标移至下一段。您可以在用户配置文件选项“弹性域:自动跳过”中打开或关闭此功能。
average balance(平均余额)
通过将汇总余额除以相关范围内的日历天数所得的金额。
average exchange rate(平均汇率)
整个会计期的平均汇率。总帐管理系统使用符合 FASB 52 (U.S.) 的期间平均汇率来自动折算收入和费用帐户余额。对于处于高通货膨胀率经济区域的公司,总帐管理系统使用平均汇率来折算符合 FASB 8 (U.S.) 的非历史收入和费用帐户。也称为期间平均汇率。
B
back-value transactions(倒算入帐事务处理)
有效日期早于当前会计日期的事务处理。也称为过期事务处理。
balances table(余额表)
存储帐户余额的称为 GL_BALANCES 的总帐管理系统数据库表。
balancing segment(余额段)
您定义的“会计弹性域”段,总帐管理系统将自动平衡此段每个值的所有日记帐分录。例如,如果您的公司段是一个余额段,则总帐管理系统将确保在每个日记帐分录内公司 01 的借项总额等于公司 01 的贷项总额。
bank statement(银行对帐单)
银行发送给客户的报表,它反映了特定时间周期内银行帐户的所有事务处理活动。银行对帐单报告期初余额、存款额、已结支票、银行手续费、信贷和期末结余。银行对帐单所附单据包括已取消的支票、借项通知单和贷项通知单。大的银行客户通常会收到电子银行对帐单和书面报告两个版本。
budget(预算)
项目或任务的估计成本、收入、人工小时数或其它数量。您可以选择性地按资源对每项预算分类,出于不同的用途设置不同的预算类型对预算进行分类。此外,每项自定义预算类型可以存在不同的版本:当前、原始、修订原始以及历史版本。当前预算版本是最近批准的版本。
.
budget formula(预算公式)
用于依据实际结果、其它预算额和统计信息来计算预算额的数学表达式。通过预算公式,您可以使用复杂等式、计算值和分配值来自动创建预算值。
budget hierarchy(预算分层结构)
在不同层次链接以使低层预算的预算权限可以由上层预算来控制的一组预算。
budget interface table(预算接口表)
存储预算加载所需信息的 Oracle 总帐管理系统数据库表。
budget organization(预算组织)
对输入和维护的数据应负责任的实体,如部门、成本中心、分部或其它类别。您可以在定义公司的预算组织之后,对每个预算组织指定相应的帐户。
budget rules(预算规则)
可用于加速人工预算输入的一系列速记方法。通过预算规则,您可以将总额平均分配到预算期间中,重复每个预算期间的给定金额,或者输入从帐户余额导出的预算额。
budget upload(预算加载)
将预算信息从电子表格传送到总帐管理系统的能力。例如,通过电子表格接口,您可以将预算信息从电子表格加载到总帐管理系统。
budgetary account(预算帐户)
指定了两种预算帐户类型之一的帐户段值(如 6110)。预算帐户可以记录从经费到经费支出这一预算过程中的资金移动。
Budgetary Account(预算帐户)
包含预算帐户的帐户。
budgetary account type(预算帐户类型)
包括借记预算和贷记预算两种帐户类型。
budgetary control(预算控制)
用于控制实际和预期支出与预算之间差额的一个 Oracle 财务系统功能。在启用预算控制后,您可以联机检查事务处理资金,并通过创建保留数来储备事务处理资金。在您尝试储备事务处理资金时,O racle 财务系统自动计算可用资金(预算减保留数减实际支出数)。如果事务处理可用资金不足,Oracle 财务系统将联机通知您。
business day(业务日)
财务机构经营业务的工作日。在总帐管理系统中,您可以选择将日历年的哪些工作日定义为业务日。您可以按需要包括或排除周末和节假日。
business group(业务组)
组织的最高层和公司可以报告的最大员工组。业务组可与实体公司对应,或与公司内的一个特定部门对应。
C
child segment value(子段值)
作为父段值一部分的明细层段值。另请参阅:父段值
chart of accounts(科目表)
用于记录事务处理和维护帐户余额的组织帐户结构。
chart of accounts structure(科目表结构)
对帐户段值所做的分类,为值的特定范围指定了普通特性。例如,1000 到 1999 可能是会计弹性域帐户段中资产的段值范围。
column set(栏集)
通过定义报表中的所有栏,在总帐管理系统中建立的财务报表生成器报表组件。您可以控制每栏的格式和内容,包括栏标题、空间和大小、计算值、计量单位和精确度。典型的栏集包括:标题和子标题的页眉栏、币种指定、金额类型和计算栏总额。
您也可以定义栏集包含表示不同公司的不同栏,以增强合并报表功能。
commitment(承付款)
完成请购单时所记录的一种保留款。
consolidation(合并)
允许您对多个公司的结果进行组合的一种总帐管理系统功能,即使这些结果在不同的帐套中,具有不同的币种、日历和科目表。合并开票程序可以每月打印一张包括期间内所有客户事务处理的发票。这使您可以发送一张合并开单发票,而不须为每项事务处理均开出单独的发票。
consolidation set of books(合并帐套)
启用了平均余额处理并定义为合并帐套的帐套。您可以通过余额合并方法使用合并帐套来合并平均余额。
consumption tax(消费税)
在每个供应阶段对货物和劳务的转移所课的间接税。输出税(从转移收取的营业所得税)与输入税(转移所付费用的应付税)之间的差异,是政府所规定的纳税义务。从概念上看,此税就是增值税 (VAT)。
content set(目录集)
总帐管理系统中建立的一个报表组件,它定义了每个报表的信息和报表的打印序列。例如,您可以定义部门目录集以对每个部门打印一个报表。
context field prompt(上下文字段提示)
要求用户输入一个称为上下文字段值的回应的问题或提示。Oracle 应用产品在显示说明性弹性域弹出式窗口时,将在显示任何已定义的全局段之后显示上下文字段提示。每个说明性弹性域最多只能有一个上下文提示。
context field value(上下文字段值)
对上下文字段提示所做的回应。回应由一系列字符和一项说明组成,并和说明一起提供了上下文提示的唯一值,如 1500、日记帐批标识、或 2000、预算公式批标识。上下文字段值将确定所显示的附加说明性弹性域段。
context response(上下文回应)
请参阅:上下文字段值
context segment value(上下文段值)
对上下文相关段所做的回应。回应由一系列字符和一项说明组成,并和说明一起提供了唯一的上下文相关段值,如 Redwood Shores、 Oracle Corporation Headquarters 或 Minneapolis、Merrill Aviation's Hub。
context-sensitive segment(上下文相关段)
在输入对上下文字段提示的回应时,显示在第二个弹出式窗口中的说明性弹性域段。对于每个上下文回应,您可以定义多个上下文段,并控制第二个弹出式窗口中的上下文段序列。每个上下文相关段通常提示您输入一项与上下文回应相关的信息。
conversion(兑换)
将外币事务处理转换为本位币事务处理的过程。
另请参阅:外币兑换
corporate exchange rate(公司汇率)
您可以任选使用以执行外币兑换的汇率。公司汇率通常是由高级财务管理层决定的用于整个组织的标准市场汇率。您可以在 Oracle 总帐管理系统中定义此汇率。
cross-validation rules(交叉验证规则)
定义用户可输入帐户的有效段值组合的规则。交叉验证规则可以限制用户输入无效帐户段值组合。
Cumulative Translation Adjustment(累计折算调整)
股东权益中所含的资产负债表帐户,总帐管理系统可以从中记录与 FASB 52 (U.S.) 相符的净折算调整。您可以在“帐套”窗口中定义每个帐套时,指定用于累计折算调整的帐户。
current dimension(当前维)
您可以从中选择数值的 Oracle 财务分析程序维。当前维是在“选择器”窗口的“维”框中指定的一个维。通过从维中选择数值并将其纳入报表、图形或工作单中,您在较低层窗口中的选择和活动将最终影响到此维。
current object(当前对象)
通过它您可以执行下一步指定活动的 Oracle 财务分析程序对象。当前对象通常是您最近选定的对象。但是,如果您使用高亮度显示一组对象,如栏中的数据单元格,则组中的第一个对象就是当前对象。
D
DBA library(DBA 库)
如果 Oracle 财务分析程序数据库对象属于 DBA 程序库,则意味对象是由管理员创建的,并且用户无法对其进行修改。
database table(数据库表)
关系数据库管理系统中的基本数据存储结构。表由一个或多个信息(行)单位组成,每个信息包含相同类型的值(栏)。应用产品的程序和窗口可以访问表中的信息。
dependent segment(相关段)
可用值取决于上一个独立段中所输入的数值的帐户段。例如,相关段“子帐户 0001”在与独立段“帐户 1100,现金”组合时可能表示“阿拉斯加银行”,但在与“帐户 1700,固定资产”组合时却可能表示“建筑物 #3”。
descriptive flexfield(说明性弹性域)
组织可以扩展捕获额外信息的字段,这些额外信息不能通过 Oracle 应用产品跟踪得到。说明性弹性域作为单字符、未命名字段显示在窗口中。您的组织可以自定义此字段来捕获特定于您的业务的额外信息。
detail budget(明细预算)
权限由另一预算控制的预算。
dimension(维)
用于对存储在变量中的数据进行组织和索引编排的 Oracle 财务分析程序数据库对象。维可以回答诸如“什么?”、“什么时候?”以及“哪里?”之类与数据相关的问题。例如,一个称为“销量”的变量可以与产品、月份和地区维相关联。此时,“销量”表明在特定地区特定月份内的售出产品数。
dimension label(维标签)
显示与报表、图形或工作单要素关联的 Oracle 财务分析程序维名的文本标签。例如,图例中的数据标记包含了显示每个数据标签所表示数据的维标签。维标签可以很短,以显示维的对象名,维标签也可以是用户指定的,以显示使用图形、报表或工作单菜单中的“维标签”选项所键入的标签。
dimension values(维值)
组成 Oracle 财务分析程序维的要素。例如,产品维的维值可能包括帐篷、独木舟、球拍以及运动服。
display group(显示组)
您可以在报表中控制其显示的行集或栏集中的一组行或栏。您可以指定显示组至显示集,以指定是否要显示或隐藏行或栏。
display set(显示集)
您在总帐管理系统中建立的一个“财务报表生成器”报表组件,使用它您可以控制报表中一组行和栏的显示,而不会重新格式化报表或丢失页眉信息。您可以定义与特定行集或栏集一起工作的显示集。您也可以定义用于任何报表的通用显示集。
document sequence number(单据序列编号)
人工或自动指定至单据以提供审计线索的编号。例如,您可以选择对 Oracle 应收款管理系统中的发票或总帐管理系统中的日记帐分录进行序列编号。另请参阅:凭单编号
dynamic insertion(动态插入)
一种会计弹性域功能,允许您直接在弹性域弹出式窗口中输入和定义新的段值组合。在接受之前,新组合必须满足所有交叉验证规则。您的组织可以决定会计弹性域是否支持动态插入。如果帐户不支持动态插入,您仅可以使用“定义帐户”窗口来输入段值的新组合。
E
effective date(有效日期)
影响总帐中的余额的事务处理日期。有效日期可以与过帐日期相同。也称为起期。
encumbrance(保留)
请参阅:保留日记帐分录
encumbrance accounting(保留会计)
用于自动创建请购单、采购订单和发票的保留数的一种 Oracle 财务功能。预算控制功能可以使用保留会计来储备预算资金。如果启用了保留会计,您可以自动或人工创建保留数。但是,您无法进行联机资金检查,O racle 财务系统也不会核实事务处理的可用资金。另请参阅:预算控制
encumbrance journal entry(保留日记帐分录)
联机创建以增大或减小保留数的日记帐分录。保留分录可以包括任何类型的保留数。您可以人工输入保留分录,定义保留分配或使用日记帐导入以从其它财务系统导入保留分录。
encumbrance type(保留类型)
允许您依据采购审批流程跟踪预期支出,并对计划支出进行更精确控制的保留类别。例如,承付款(请购单保留数)和待付款(采购订单保留数)。
end-of-day balance(日终余额)
总帐帐户在日终时的实际余额。此余额包括有效日期在日历日或之前的所有事务处理。
exchange rate(汇率)
表示在某一特定时间将一种货币汇兑成另一种货币金额的比率。Oracle 应用产品使用您保留的每日、周期和历史汇率来进行外币兑换、重估和折算。
exchange rate type(汇率类型)
汇率来源的详细说明。例如,用户汇率或公司汇率。另请参阅:公司汇率和即期汇率
export(导出)
允许您将数据从 Oracle 表复制到当前目录中的文件的公用程序。导出公用程序是 Oracle 关系型数据库管理系统的一部分。
export file(导出文件)
导出公用程序在您的目录中创建的文件。导出文件扩展名为 .dmp。对导出文件命名将可以标识数据库表中的数据。例如,如果您要保存 1994 会计年度的 Fremont 帐套,则可以将导出文件命名为 FY94FR.dmp。
F
factor(系数)
您通过它执行某些数学运算的数据。固定金额、统计帐户余额、帐户余额以及报表行或栏均是您可以在公式中使用的数据类型。
FASB 52 (U.S.)
请参阅:SFAS 52
FASB 8 (U.S.)
请参阅:SFAS 8
feeder program(支程序)
用于将事务处理信息从原始系统传送至 Oracle 应用产品接口表而编写的一种自定义程序。编写的支程序类型取决于您导入数据的环境。
financial data item(财务数据项目)
由变量或变量和公式组成的 Oracle 财务分析程序数据库对象。例如,一个称为“实际数”的财务数据项目是一个变量,而称为“实际数差异”的财务数据项目则是由变量(实际数)和计算变量的公式组成的。
Financial Statement Generator(财务报表生成器)
无需编程即可建立自定义报表的一种强有力的灵活工具。您可以联机定义报表以完全控制报表行、栏和目录。
fiscal year(会计年度)
与日历年度无关的任何年度会计期。
fixed rate currencies(固定汇率币种)
具有固定汇率的币种。例如,欧元和欧洲货币联盟 (EMU) 成员国币种。
FlexBudgeting(弹性预算)
使用预算公式和统计信息来创建弹性预算的一项功能。例如,生产制造组织可能要维护基于实际产量的弹性预算,以消除实际和预算操作结果分析过程中的产量差异。
flexfield(弹性域)
由段组成的 Oracle 应用产品字段。每段均有一个指定名称和一组有效值。Oracle 应用产品使用弹性域来捕获有关您的组织的信息。弹性域有两种:键弹性域和说明性弹性域。
folder(文件夹)
一个灵活的输入和显示窗口,您可以在其中选择要查看的字段及字段在窗口中的显示位置。请参阅:自定义数据显示
foreign currency(外币)
对帐套定义的一种货币,您可以使用此币种而非本位币来记录和处理会计事务处理。另请参阅:汇率和本位币
foreign currency conversion(外币兑换)
将外币日记帐分录转换为本位币的过程。在您每次以本位币之外的币种输入日记帐分录时,总帐管理系统均自动转换币种。总帐管理系统通过乘以您定义的每日汇率或输入的汇率来兑换本位币金额。您可以在“输入日记帐”窗口中查看外币兑换结果。
另请参阅:外币汇兑损益
foreign currency exchange gain or loss(外币汇兑损益)
在对发票进行收款核销时,介于开票额和付款额之间的本位币差额。如果以本位币表示的收款额超出发票额,则为已实现收益;如果以本位币表示的发票额超出付款额,则为损失。此损益由发票日期和付款日期之间的收款币种的汇率波动引起。另请参阅:已实现损益和未实现损益
foreign currency journal entry(外币日记帐分录)
以外币记录事务处理的日记帐分录。总帐管理系统自动使用指定的汇率将外币金额兑换为本位币金额。另请参阅:外币和本位币
foreign currency revaluation(外币重估)
使用期末(通常为资产负债表日期)汇率对以外币表示的资产和负债进行重估的过程。总帐管理系统使用指定的期末汇率自动重估外币资产和负债。重估损益由事务处理日期和资产负债表日期之间的汇率波动引起。总帐管理系统自动创建符合 FASB 52 (U.S.) 的日记帐分录,以在运行重估时调整未实现损益帐户。
foreign currency translation(外币折算)
将本位币帐户余额重新转换为报表币种的过程。总帐管理系统将您定义的平均、周期或历史汇率乘以本位币帐户余额来执行外币折算。总帐管理系统依据 FASB 52 (U.S.) 来折算外币。总帐管理系统还可以依据 FASB 8 (U.S.) 来重估处于高通货膨胀经济区域的公司的外币。
formula entry(公式输入)
使用公式来计算日记帐分录行的经常性日记帐分录。与标准分录指定金额不同,总帐管理系统使用公式来计算金额。例如,您可以使用经常性日记帐分录来执行复杂的分配,或执行使用统计信息或多帐户进行计算的应计费用处理。
function security(安全保护功能)
控制用户对特定功能和窗口进行访问的一种 Oracle 应用产品功能。默认条件下,对功能的访问是不受限制的。您的系统管理员可以通过包括或排除“责任”窗口中的功能和菜单,自定义您的站点的每个责任。
functional currency(本位币)
用于记录事务处理和维护总帐管理系统内的会计数据的主要币种。本位币是用于执行大多数业务事务处理的常用货币。您可以在“帐套”窗口中为每个帐套指定本位币。
funding budget(资金预算)
在帐套启用预算控制后,用于将会计事务处理与可用资金进行核对的预算。
funds available(可用资金)
可支配金额与支出额加承付额之间的差额。您可以使用联机可用资金查询窗口跟踪不同权限层的可用资金,或者使用总帐管理系统财务报表生成器创建自定义报表。
funds checking(资金检查)
核实可用资金的过程。
您可以在输入实际、预算或保留日记帐时检查资金。
在检查资金时,Oracle 财务系统将事务处理金额与可用资金进行比较,并联机通知您是否为事务处理提供了足够的资金。Oracle 财务系统在检查资金时并不为事务处理储备资金。
funds reservation(资金储备)
准备可用资金的过程。您可以在输入实际、预算或保留日记帐时准备资金。Oracle 财务系统在准备资金时将事务处理金额与可用资金进行比较,并联机通知您是否为事务处理提供了足够的资金。
G
H
historical exchange rate(历史汇率)
多次出现的事务处理加权平均汇率。总帐管理系统使用历史汇率依据 FASB 52 (U.S.) 来折算所有者权益帐户。对于处于高通货膨胀经济区域的公司,总帐管理系统使用历史汇率依据 FASB 8 来重估特定历史帐户余额。
HP 记数法
EasyCalc 所基于的数学逻辑。HP 记数法是惠普计算器使用的一种记数法。HP 记数法强调直接运算、数据逻辑输入,而不着重于对数据进行复杂的嵌套运算。
I
import(导入)
允许您将导出文件数据导入 Oracle 表的公用程序。导入实用程序是 Oracle 关系数据库管理系统的一部分。此实用程序用于恢复已存档的数据。
import journal entry(导入日记帐分录)
源于非 Oracle 应用产品的日记帐分录,如应付帐户、应收帐户和固定资产。您可以使用日记帐导入从支系统导入这些日记帐分录。
integer data type(整数数据类型)
Oracle 财务分析程序的整数数据类型变量包括从值 -2.14×1010 到 +2.14×1010 之间的所有整数。
intercompany journal entry(公司间往来日记帐分录)
记录附属公司之间事务处理的日记帐分录。总帐管理系统通过对您定义的公司间往来帐户自动创建抵销分录,来保持每个公司会计记录的平衡。
Item Validation Organization(项目验证组织)
包含主项目列表的组织。您可以通过设置“OE:项目验证组织”配置文件选项来定义此组织。另请参阅:组织
J
journal detai
如何更改Oracle字符集国内最常用的Oracle字符集ZHS16GBK(GBK 16-bit Simplified Chinese)能够支持繁体中文,并且按照2个字符长度存储一个汉字。UTF8字符集是多字节存储,1个汉字(简体、繁体)有时采用3个字符长度存储。Oracle支持字符集的更改,但是UTF8是Oracle中最大的字符集,也就是说UTF8是ZHS16GBK的严格超集。对于子集到超集的转换,Oracle是允许的,但是对于超集到子集的转换是不允许的。一般对于超集到子集的转换,建议是通过dbca删除原来的数据库,重新再建库,选择正确的字符集,然后导入备份。我的方案是:先备份数据,然后强制转换字符集从UTF8到ZHS16GBK,然后导入备份数据。如果不行,才来重新建库,设置字符集ZHS16GBK,导入备份数据。如果这还不行,就把更改字符集从ZHS16GBK到UTF8(这是安全的),再导入备份数据,恢复到原始状况。这样就有可能避开重新建库的麻烦。1. 备份数据库中所有用户的数据以oracle用户登陆,执行以下命令# export NLS_LANG = “SIMPLIFIED CHINESE_CHINA.UTF8”保持与数据库服务器端一致,这样在exp导出时,就不会存在字符的转换了,备份最原始的数据。2. 评估UTF8转换成ZHS16GBK的风险转换之前,要使用Oracle的csscan工具对数据库扫描,评估字符集转换前后,数据有可能的损坏情况。如果评估情况糟糕,那就绝对要放弃了。先安装属于 CSMIG 用户的一套表和过程。以oracle用户登陆UNIX,#sqlplus “/ as sysdab”SQL@$ORACLE_HOME/ rdbms/admin/csminst.sqlSQLexit# $ORACLE_HOME\bin\csscan -help可以更清楚如何使用csscan。# $ORACLE_HOME/bin/csscan system/sunday user=mmsc FROMCHAR=UTF8 TOCHAR=ZHS16GBK ARRAY=102400 PROCESS=3 csscan.log以上命令意思是扫描用户:mmsc中的所有数据,从字符集UTF8更改为ZHS16GBK的转换情况。然后得到三个文件:scan.txt、scan.out、scan.err。查看scan.out,scan.err,可以看出mmsc用户下的所有的数据都是可以转换的,并且没有出现转换“Exceptional”的情况,因此可以更放心一点。3. 更改数据库的字符集为ZHS16GBK前面说过,通过命令“Alter Database Characeter Set XXXX”,实现从超集到子集的转换,在Oracle是不允许的。但是该命令,提供这样的命令方式:Alter Database Character Set INTERNAL_CONVERT/ INTERNAL_USE XXXX这是Oracle的非公开命令。“在使用这个命令时,Oracle会跳过所有子集及超集的检查,在任意字符集之间进行强制转换,所以,使用这个命令时你必须十分小心,你必须清楚这一操作会带来的风险”。以oracle用户登陆UNIX,#sqlplus “/ as sysdba”SQL SHUTDOWN IMMEDIATE; SQL STARTUP MOUNT; SQL ALTER SESSION SET SQL_TRACE=TRUE;SQL ALTER SYSTEM ENABLE RESTRICTED SESSION; SQL ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; SQL ALTER SYSTEM SET AQ_TM_PROCESSES=0; SQL ALTER DATABASE OPEN; SQL ALTER DATABASE CHARACTER SET ZHS16GBK; //如果不使用“INTERNAL_USE”参数,系统会提示出错://ERROR at line 1://ORA-12712: new character set must be a superset of old character setSQL ALTER SESSION SET SQL_TRACE=FALSE;SQL SHUTDOWN IMMEDIATE; SQL STARTUP;此时,检查一下数据库的字符集是否更改过来SQL select value$ from props$ where name=’NLS_CHARACTERSET’;VALUE$-----------------ZHS16GBK紧接着检查一下数据库中简体中文、繁体中文是否正常,不会出现乱码。SQLselect spid,spname,spshortname from spinfovisual_hk …...非常不幸,我看到了一堆乱码,这也证明了Oracle不支持字符集从超集到子集的更改,当时心里很紧张,很怕失败,从而恢复到原样。但是根据以前的验证,把UTF8下的备份导入到ZHS16GBK中去,是OK的,所以继续尝试。4. 导入备份的用户数据还是以oracle用户登陆UNIX, 先删除库中的用户mmsc:#sqlplus “/ as sysdba”SQLdrop user mmsc cascade;SQLexit再运行createuser.sql,生成mmsc用户。然后使用原来的备份文件,导入到mmsc用户中:注意:先设置NLS_LANG要与当前数据库的一致:ZHS16GBK。这样,导出时用户会话的NLS_LANG为UTF8,与原先的数据库字符集一致;现在为ZHS16GBK,与此时的数据库字符集一致。这样,导入时,就会进行字符转换。# export NLS_LANG = “SIMPLIFIED CHINESE_CHINA.ZHS16GBK”#imp mmsc/mmsc@mdspdb file=DSMPD113_user_mmsc.dmp ignore=y fromuser=mmsc touser=mmsc马上查看数据库中简体、繁体中文,哈哈,没有乱码了,一切显示正常。紧接着进行验证,也证明了:1个汉字此时只占用2个字符长度。问题解决了!
查看oracle字符集方法如下:
1、单机电脑做小脚windows图标,输入框中输入“cmd”
2、回车,进入dos窗口
3、登录oracle数据库,使用sys用户以dba身份登录。输入“SQLPLUS”,回车,然后再在用户名下输入“SYS AS SYSDBA”,回车
4、密码后面输入“SYS”,回车。这里输入密码是隐式的,所以看不见,只要输入就好了
5、这里输入SQL查询语句,“select * from nls_database_parameters where parameter='NLS_CHARACTERSET';”然后回车。注意单引号内的内容必须大写,sql语句后面的分号。这里可以看到,数据库使用的是简体中文的字符集。
扩展资料:
甲骨文公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989年正式进入中国市场。2013年,甲骨文已超越 IBM ,成为继 Microsoft 后全球第二大软件公司。
2017年6月7日发布的2017年美国《财富》500强,甲骨文公司排名第81位。 2017年6月,《2017年BrandZ最具价值全球品牌100强》公布,甲骨文公司排名第46位。
字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。中文文字数目大,而且还分为简体中文和繁体中文两种不同书写规则的文字,而计算机最初是按英语单字节字符设计的,因此,对中文字符进行编码,是中文信息交流的技术基础。
参考资料:
百度百科-字符集
百度百科-甲骨文公司