从oracle9i中导出的数据导入到oracle10g中,经过程序的调用后,发现都是乱码,
开始以为是RHEL5系统字符集的事情,修改了几次后,发觉还是数据库的字符集有问题。
以下是用dba进入后查看的实际情况:
select * from V$NLS_PARAMETERS ;
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_TERRITORY CHINA
NLS_CURRENCY RMB
NLS_ISO_CURRENCY CHINA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
NLS_CHARACTERSET WE8ISO8859P1
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY RMB
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
select userenv('language') from dual;
显示字符集:
SIMPLIFIED CHINESE_CHINA.WE8ISO8859P1
select * from sys.props$ WHERE NAME='NLS_CHARACTERSET';
-----------------------
参考了网上的几个解决方法,都没有解决,最后还是使用了这样的方法解决了问题:
sqlplus "/as sydba"
shutdown immediate
Startup restrict
ALTER DATABASE CHARACTER SET ZHS16GBK;
有时候会遇到如下错误:
ORA-12712: new character set must be a superset of old character set
可以执行如下:跳过超集的检查
ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
然后重启数据库即可,不过最好先做备份哦!
分享到:
相关推荐
Oracle 10g字符集设置是数据库管理中的一个重要环节,特别是在处理中文数据时,正确的字符集配置至关重要。在Windows环境下,Oracle 10g客户端的安装可能会遇到中文乱码问题,这通常是因为新安装的客户端与旧版本...
### Oracle11g 字符集 AL32UTF8 修改为 ZHS16GBK 的步骤与注意事项 #### 一、背景介绍 在Oracle11g环境下,可能会遇到需要更改数据库字符集的情况,例如从AL32UTF8修改为ZHS16GBK。这种变更通常发生在需要支持特定...
### 一、更改Oracle 11g字符集的意义 在Oracle 11g数据库中,字符集用于定义如何存储和处理文本数据。不同的字符集支持不同的语言和符号。例如,ZHS16GBK字符集主要支持中文简体字符。更改字符集通常发生在以下情况...
### 修改Oracle 11g字符集 在Oracle数据库管理中,字符集的设置至关重要,它直接影响到数据的存储和检索。对于已经安装并运行的Oracle 11g数据库,如果发现默认字符集不符合需求(例如默认为US7ASCII),则需要进行...
针对这种情况,我们可以按照以下步骤来修改Oracle 11g数据库的字符集,使其更改为ZHS16GBK。 首先,确保你有数据库的系统管理员权限,因为修改字符集需要以SYSDBA身份进行。在Windows环境下,打开命令行窗口(cmd)...
Oracle字符集是数据库管理系统Oracle中的一个重要概念,它决定了数据库如何存储和处理文本数据。字符集不仅影响着数据的准确性和一致性,还与全球化应用、数据迁移和数据交换密切相关。本篇将深入探讨Oracle字符集的...
oracle11g导入报错,很多情况下是字符集不同导致失败,附件为oracle11g更改字符集操作说明,多次实测有效。
Oracle 10g 字符集是数据库管理系统Oracle中用于表示和处理文本数据的关键组件。字符集定义了如何将字符映射到二进制值,从而影响数据存储、检索和显示的方式。Oracle支持多种字符集,以适应全球各地的语言和文化...
oracle11g字符集的修改,本人亲自用过,按照文档内容一步一步操作准没错,不要忘了先将数据备份或导出pdm哦!!!O(∩_∩)O哈哈~
Oracle数据库系统支持多种字符集,以适应全球化的数据存储需求。字符集定义了数据库如何存储和显示字符,对于处理多语言环境尤为重要。在某些情况下,用户可能需要在客户端侧更改字符集,以便正确地显示或处理特定...
在Oracle 10g RAC(Real Application Clusters)环境下,由于涉及多节点的集群配置,字符集的修改需要更加谨慎和精确的操作。本篇文章将详细阐述在Oracle 10g RAC环境下如何修改字符集,同时,这些步骤也可以为修改...
### Oracle 10g XE 版本更改数据库字符集 在进行Oracle 10g XE数据库的字符集修改时,需要理解几个关键的概念和技术点。本文将详细介绍如何更改Oracle 10g XE数据库的字符集,并提供具体的操作步骤。 #### 一、...
本文将详细介绍如何在Oracle 10g中通过命令行方式修改数据库字符集。 #### 前提条件 在进行字符集修改之前,请确保满足以下前提条件: 1. **有足够的权限**:必须具备sysdba权限才能执行这些操作。 2. **备份...
Oracle 10g Express Edition是Oracle专门为小型用户提供的免费版本。Oracle XE十分小巧,安装简单,可供第三方软件开发商部署较小的应用。 不过Oracle XE目前的beta2缺省安装的字符集是WE8MSWIN1252,不是中文...
"最新OCI(百分百兼容Oracle所有版本字符集)" 提供的是 OCI 库的更新版本,确保与Oracle的所有字符集兼容,解决了Navicat等第三方工具在连接Oracle时可能出现的字符集不匹配问题。 Navicat 是一款流行的数据库管理...
在Oracle 10g中,字符集的更改可能涉及到数据库的迁移、升级或配置优化。 在Oracle中,如果你遇到“ORA-01090: shutdown in progress - connection is not permitted”和“ORA-01081: cannot start already-running...
### Linux下修改Oracle 10G的字符集:WE8ISO8859P1 修改为 ZHS16GBK #### 知识点概述 在Linux环境下,有时我们需要更改Oracle数据库的字符集来适应不同的语言环境或数据输入需求。本文将详细介绍如何在Oracle 10G...
### Oracle 10g 中文乱码问题解析 #### 原因分析 在使用Oracle 10g数据库过程中,可能会遇到中文字符显示为乱码的情况。这种问题往往出现在数据库安装后,在尝试插入中文数据并查询时,数据显示为“?????”等形式...