Oracle基础教程之sqlplus汉字乱码问题的解决

从Oracle数据库中导一个数据的时候出现了一个很奇怪的问题,中文乱码。 首先可以确认的一点,数据在数据库中是以中文存在的,还有

从oracle数据库中导一个数据的时候出现了一个很奇怪的问题,中文乱码。 首先可以确认的一点,数据在数据库中是以中文存在的,还有就是用toad进行连接查询的时候也是中文。 但是在服务器端直接用sqlplus 连接查询之后,所有中文都显示为乱码。 第一反应是字符集的问题,也尝试用修改字符集来解决问题,最终问题还是出在系统的环境变量上。

解决方法:

1. export 参数

$ export NLS_LANG=simplified chinese_china.zhs16gbk

2. 修改配置单数

修改。bash_profile 中的参数,添加相关信息

NLS_LANG=simplified chinese_china.zhs16gbk;

Export NLS_LANG;

以上是在Linux平台,windows 平台用

C NLS_LANG=simplified chinese_china.zhs16gbk

或者添加一个环境变量就可以了。

3. 补充一点知识:

Nls_lang 是Linux 系统的环境变量;

Nls_language 是数据库的参数。

我们可以在session中修改Nls_language,不能修改Nls_lang。

示例:

SQL ALTER SESSION SET NLS_LANGUAGE= ‘SIMPLIFIED CHINESE’

SQL alter session set nls_lang=American_America.ZHS16GBK;

alter session set nls_lang=American_America.ZHS16GBK

ERROR at line 1

ORA-00922 missing or invalid option

Oracle 的相关参数我们可以通过以下SQL语句查看:

SQL col PARAMETER format a30

SQL col VALUE format a30

SQL select  from v$NLS_PARAMETERS;

PARAMETER                      VALUE

—————————— ——————————

NLS_LANGUAGE                  SIMPLIFIED CHINESE

NLS_TERRITORY                  CHINA

NLS_CURRENCY                  ¥

NLS_ISO_CURRENCY              CHINA

NLS_NUMERIC_CHARACTERS        .,

NLS_CALENDAR                  GREGORIAN

NLS_DATE_FORMAT                YYYY-MM-DD HH24MISS

NLS_DATE_LANGUAGE              AMERICAN

NLS_CHARACTERSET              ZHS16GBK

NLS_SORT                      BINARY

NLS_TIME_FORMAT                HH.MI.SSXFF AM

PARAMETER                      VALUE

—————————— ——————————

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              ¥

NLS_NCHAR_CHARACTERSET        AL16UTF16

NLS_COMP                      BINARY

NLS_LENGTH_SEMANTICS          BYTE

NLS_NCHAR_CONV_EXCP            FALSE

已选择19行。

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1884641.html

(0)
上一篇 2025年2月22日 11:59:10
下一篇 2025年2月22日 12:00:02

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Redhat Enterprise Edition 5安装Oracle 11g

    Redhat Enterprise Edition 5安装Oracle 11g 系统安装:     选择尽量多的开发软件,X Windows为必需。 一.创建必要的用户,组和目录    #mkdir -p /u01/Oracle    #g…

    数据库 2025年2月23日
    100
  • Oracle存储过程的格式

    存储过程在程序中是常用的,在项目中我也经常写一些,但是犯了一个错误是,我老是把sql语句的过程,写成一长串sql语句,然后按正 存储过程在程序中是常用的,在项目中我也经常写一些,但是犯了一个错误是,我老是把sql语句的过程,写成一长串sql…

    数据库 2025年2月23日
    100
  • Oracle Manager Server安装配置

    安装oms服务在登陆到oms之前,你必须首先安装oms服务。 启动Oracle universal installer,查看已安装产品,展开oracle主目录–or 安装oms服务在登陆到oms之前,你必须首先安装oms服务。 …

    数据库 2025年2月23日
    100
  • Oracle正常启动OEM或OMS关键

    能否正常启动OEM或OMS关键有以下两点: 第一.Oracle的系统服务是否开启; 第二.登录时用的用户名和口令是否正确。 那么先针 能否正常启动OEM或OMS关键有以下两点: 第一.Oracle的系统服务是否开启; 第二.登录时用的用户名…

    数据库 2025年2月23日
    100
  • Oracle常用sql语法集合

    表: select * from cat; select * from tab; select table_name from user_tables; 视图: select text from u 表:   select * from c…

    数据库 2025年2月23日
    100
  • Oracle中的数据类型和表的管理

    日期类型 date 包含年月日和时分秒 timestamp 这是Oracle9i对date数据类型的扩展 (时间戳)date类型的时间更精确 图片类 日期类型   date 包含年月日和时分秒   timestamp 这是Oracle9i对…

    数据库 2025年2月23日
    100
  • Oracle 11g ASM数据库升级compatible

    我的数据库(asm存储)是11.1升级 11.2的。今天在做延迟段创建时报一定要升级到11.2才能应用此功能。查看我的实例的compatible是 我的数据库(asm存储)是11.1升级 11.2的。 今天在做延迟段创建时报一定要升级到11…

    数据库 2025年2月23日
    100
  • Oracle 生成序列号存储过程

    项目中经常要根据年月日规则生成序列号,简单写了个存储过程可根据需要扩展 一、序列号存储表 — Create tablecreate table SYS_ 项目中经常要根据年月日规则生成序列号,简单写了个存储过程可根据需要扩展 一…

    数据库 2025年2月23日
    100
  • Oracle 10g 监听器启动后停止的解决办法

    今天遇到了监听器启动问题,问题原因是原先机器装Oracle的时候没有问题,后来更改机器名后,监听器就再无法启动了,问题定位是由 oracle 10g 监听器启动后停止的解决办法 [日期:2011-11-29]来源:Linux社区 作者:ti…

    数据库 2025年2月23日
    100
  • Oracle物理读与逻辑读

    Physical Reads(物理读): 逻辑读内容在内存中,不需要读硬盘。 计算公式可以如下:Physical Reads = db block gets + consist Physical Reads(物理读): 逻辑读内容在内存中,…

    数据库 2025年2月23日
    100

发表回复

登录后才能评论