`
天空之城
  • 浏览: 404905 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle10g字符集问题

 
阅读更多
从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;

然后重启数据库即可,不过最好先做备份哦!
分享到:
评论

相关推荐

    Oracle10g字符集设置,解决中文乱码

    Oracle 10g字符集设置是数据库管理中的一个重要环节,特别是在处理中文数据时,正确的字符集配置至关重要。在Windows环境下,Oracle 10g客户端的安装可能会遇到中文乱码问题,这通常是因为新安装的客户端与旧版本...

    Oracle11g 字符集 AL32UTF8 修改为ZHS16GBK

    ### Oracle11g 字符集 AL32UTF8 修改为 ZHS16GBK 的步骤与注意事项 #### 一、背景介绍 在Oracle11g环境下,可能会遇到需要更改数据库字符集的情况,例如从AL32UTF8修改为ZHS16GBK。这种变更通常发生在需要支持特定...

    ORACLE11g更改字符集

    ### 一、更改Oracle 11g字符集的意义 在Oracle 11g数据库中,字符集用于定义如何存储和处理文本数据。不同的字符集支持不同的语言和符号。例如,ZHS16GBK字符集主要支持中文简体字符。更改字符集通常发生在以下情况...

    修改ORACLE11G字符集

    ### 修改Oracle 11g字符集 在Oracle数据库管理中,字符集的设置至关重要,它直接影响到数据的存储和检索。对于已经安装并运行的Oracle 11g数据库,如果发现默认字符集不符合需求(例如默认为US7ASCII),则需要进行...

    oracle修改字符集

    针对这种情况,我们可以按照以下步骤来修改Oracle 11g数据库的字符集,使其更改为ZHS16GBK。 首先,确保你有数据库的系统管理员权限,因为修改字符集需要以SYSDBA身份进行。在Windows环境下,打开命令行窗口(cmd)...

    Oracle 字符集详解

    Oracle字符集是数据库管理系统Oracle中的一个重要概念,它决定了数据库如何存储和处理文本数据。字符集不仅影响着数据的准确性和一致性,还与全球化应用、数据迁移和数据交换密切相关。本篇将深入探讨Oracle字符集的...

    oracle11g更改字符集

    oracle11g导入报错,很多情况下是字符集不同导致失败,附件为oracle11g更改字符集操作说明,多次实测有效。

    oracle10g字符集的查看与修改.doc

    Oracle 10g 字符集是数据库管理系统Oracle中用于表示和处理文本数据的关键组件。字符集定义了如何将字符映射到二进制值,从而影响数据存储、检索和显示的方式。Oracle支持多种字符集,以适应全球各地的语言和文化...

    oracle11g字符集修改

    oracle11g字符集的修改,本人亲自用过,按照文档内容一步一步操作准没错,不要忘了先将数据备份或导出pdm哦!!!O(∩_∩)O哈哈~

    Oracle切换客户端字符集

    Oracle数据库系统支持多种字符集,以适应全球化的数据存储需求。字符集定义了数据库如何存储和显示字符,对于处理多语言环境尤为重要。在某些情况下,用户可能需要在客户端侧更改字符集,以便正确地显示或处理特定...

    Oracle10G_RAC环境下字符集

    在Oracle 10g RAC(Real Application Clusters)环境下,由于涉及多节点的集群配置,字符集的修改需要更加谨慎和精确的操作。本篇文章将详细阐述在Oracle 10g RAC环境下如何修改字符集,同时,这些步骤也可以为修改...

    oracle 10g xe 版本更改数据库字符集

    ### Oracle 10g XE 版本更改数据库字符集 在进行Oracle 10g XE数据库的字符集修改时,需要理解几个关键的概念和技术点。本文将详细介绍如何更改Oracle 10g XE数据库的字符集,并提供具体的操作步骤。 #### 一、...

    修改Oracle数据库字符集的方法

    本文将详细介绍如何在Oracle 10g中通过命令行方式修改数据库字符集。 #### 前提条件 在进行字符集修改之前,请确保满足以下前提条件: 1. **有足够的权限**:必须具备sysdba权限才能执行这些操作。 2. **备份...

    oracleXE字符集改成GBK

    Oracle 10g Express Edition是Oracle专门为小型用户提供的免费版本。Oracle XE十分小巧,安装简单,可供第三方软件开发商部署较小的应用。  不过Oracle XE目前的beta2缺省安装的字符集是WE8MSWIN1252,不是中文...

    最新OCI(百分百兼容Oracle所有版本字符集).zip

    "最新OCI(百分百兼容Oracle所有版本字符集)" 提供的是 OCI 库的更新版本,确保与Oracle的所有字符集兼容,解决了Navicat等第三方工具在连接Oracle时可能出现的字符集不匹配问题。 Navicat 是一款流行的数据库管理...

    oracle 字符集的用法

    在Oracle 10g中,字符集的更改可能涉及到数据库的迁移、升级或配置优化。 在Oracle中,如果你遇到“ORA-01090: shutdown in progress - connection is not permitted”和“ORA-01081: cannot start already-running...

    Oracle 10g 中文乱码问题

    ### Oracle 10g 中文乱码问题解析 #### 原因分析 在使用Oracle 10g数据库过程中,可能会遇到中文字符显示为乱码的情况。这种问题往往出现在数据库安装后,在尝试插入中文数据并查询时,数据显示为“?????”等形式...

    修改oracle10字符集步骤

    ### 修改Oracle 10g字符集的必要性 随着业务需求的变化,或者当数据库需要在全球范围内使用时,可能需要更改原有的字符集。例如,从仅支持英文的`US7ASCII`改为支持中文的`ZHS16GBK`或`AL32UTF8`。这不仅能确保...

Global site tag (gtag.js) - Google Analytics