当前位置:  数据库>oracle

Oracle服务器数据库中文乱码之字符集修改

    来源: 互联网  发布时间:2017-04-05

    本文导语: 最近安装个Oracle 10g数据库,dbca建库的时候没选字符集或者选错的情况,导入数据后,中文全部是乱码(搞笑的是,中文乱码 居然全部是个“靠”字),查看网络几篇文章,也做了相应修改(以前按方法修改可以解决的,今天特...

最近安装个Oracle 10g数据库,dbca建库的时候没选字符集或者选错的情况,导入数据后,中文全部是乱码(搞笑的是,中文乱码 居然全部是个“靠”字),查看网络几篇文章,也做了相应修改(以前按方法修改可以解决的,今天特例!),解决办法如下:

SQL> connect / as sysdba;              ---dba用户连接数据库

SQL> select name,value$ from props$ where name like '%NLS%';---语句查询当前数据库服务器字符集

NAME
------------------------------------------------------------
VALUE$
--------------------------------------------------------------------------------
NLS_LANGUAGE
AMERICAN




NLS_TERRITORY
AMERICA

NLS_CURRENCY
$


NAME
------------------------------------------------------------
VALUE$
--------------------------------------------------------------------------------
NLS_ISO_CURRENCY
AMERICA





NLS_NUMERIC_CHARACTERS
.,

NLS_CHARACTERSET           ----找到查出来的结果中的该项参数

 

下面是修改过程:

SQL> shutdown immediate;     ---停止数据库
Database closed.
Database dismounted.
ORACLE instance shut down.


SQL> startup mount           ---启动数据库到mount状态
ORACLE instance started.

Total System Global Area 235999352 bytes
Fixed Size 450680 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.




---下面是修改过程,按步骤修改
SQL> alter session set sql_trace=true;

Session altered.

SQL> alter system enable restricted session;

System altered.

SQL> alter system set job_queue_processes=0;

System altered.

SQL> alter system set aq_tm_processes=0;

System altered.

SQL> alter database open;

Database altered.

SQL> set linesize 120;
SQL> alter database character set zhs16gbk;
alter database character set zhs16gbk
*
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set




SQL> ALTER DATABASE character set INTERNAL_USE zhs16gbk;

# 使用INTERNAL_USE可以跳过超集的检查,

(ALTER DATABASE character set INTERNAL_USE )

Database altered.
SQL> shutdown immediate;      ---再停止数据库
Database closed.
Database dismounted.
ORACLE instance shut down.



---启动数据库
SQL> STARTUP
ORACLE instance started.

Total System Global Area 235999352 bytes
Fixed Size 450680 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
SQL>






 

----再次查看当前字符集

SQL> select name,value$ from props$ where name like '%NLS%';

NAME
------------------------------
VALUE$
--------------------------------------------------------------------------------
NLS_LANGUAGE
SIMPLIFIED CHINESE




NLS_TERRITORY
CHINA

NLS_CURRENCY
?


NAME
------------------------------
VALUE$
--------------------------------------------------------------------------------
NLS_ISO_CURRENCY
CHINA





NLS_NUMERIC_CHARACTERS
.,

NLS_CHARACTERSET
  ---【已经修改成为中文编码了】

今天的情况特殊,修改完了,中文乱码还是“靠”字,- -

后来试着修改系统字符集

在oracle下 .bash_profile 文件里面加入

export NLS_LANG="Simplified Chinese_CHINA.ZHS16GBK"
再次登录查看,还是不行

最后把NLS_LANG中后面的字符集修改成,查看结果,搞掂完成,回家!

总结:要系统字符集和数据库字符集相对应才会解决中文乱码问题,dbca建库时,也要注意字符集选择问题。


    
 
 

您可能感兴趣的文章:

  • 在Red Hat Linux 9 和 Oracle 9.2 环境下,如何配制字符集,让Oracle能存入并显示日语里的假名?
  • 查询与修改Oracle字符集
  • oracle查看字符集后修改oracle服务端和客户端字符集的步骤
  • ORACLE 10G修改字符编码没有超字符集的限制
  • apache通过php的oci函数读取Oracle(字符集ZHS16GBK)时,显示乱码,如何解决?
  • 查看和修改Oracle服务器端字符集
  • Oracle字符集修改查看方法
  • 如何在RAC环境下修改Oracle字符集
  • oracle查询字符集语句分享
  • Oracle 8i字符集乱码问题析及其解决办法
  • 最好的修改Oracle字符集文档
  • Oracle中字符集的类型决定varchar2的字符长度
  • [Oracle] 彻底搞懂Oracle字符集
  • oracle查看字符集和修改字符集使用详解
  • 深入Oracle字符集的查看与修改详解
  • Oracle 11g 相关工具netca,dbca乱码之解决
  • Linux中安装Oracle乱码问题的解决
  • linux9下oracle乱码问题?
  • Oracle乱码问题
  • Linux下Oracle 10G DBCA等汉字乱码解决方法
  • oracle中文乱码解决的办法
  • 我用jbuilder调用oracle的数据库,但其中的中文显示的是乱码,怎么解决?
  • RED HAT 7.2 ,安装ORACLE9I时,安装向导的中文全为乱码!
  • 我在redhat 8.0 下安装oracle 9i ,窗口的字体是乱码,怎么办???
  • 我载了oracle8i_linux81701.tar 在linux下解包,怎么是乱码啊?
  • Oracle em中按钮乱码解决办法
  • linux下安装Oracle9i问题,解压之类工作完成,出的安装界面,乱码
  • 请问jboss+oracle文件怎样配置,数据库中文字段不为乱码
  • 安装ORACLE时的安装界面显示一堆乱码如何解决(我很菜的,分100可再加)---在线
  • Oracle10g EM出现乱码的解决方法
  • 请问我向Oracle库中写汉字,全部变成了乱码,怎样解决啊,急
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 安装Oracle9i时的中文问题,求助!!!!!!!
  • Linux平台下Oracle9i数据库正确显示中文的设置
  • oracle8.1.7在RedHat7.2下安装后,怎么不支持中文?
  • 急急急!用 jdbc取 oracle 中中文数据的显示问题?
  • 在jsp输入中文->servlet->Session Bean->EntityBean->Oracle就变成一堆?????号。
  • Oracle 中文字段进行排序的sql语句
  • jsp读取oracle8.1.6数据表中的中文,读出为?,着急啊。
  • 谁那里有《Oracle Database 10g完全参考手册》中文版的电子书啊?发给我好吗
  • oracle9i安装时.installer启动后,界面无法显示中文.
  • 为什么unix下从oracle检索出来的中文显示的是?????? 呢?
  • Oracle Enterprise Linux下的中文显示
  • linux下Tomcat4,javaservlet中文问题(oracle数据库)
  • 用jsp连上oracle后,在JSP中用(INSERT)插入中文数据后,显示乱码,有办法吗?
  • JSP连ORACLE中文字符的显示问题!!!急死我了~~~
  • Linux下Oracle sqlplus中文显示乱码的问题的解决
  • Linux安装Oracle中文乱码的解决
  • Oracle EBS 术语解释-中文版
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3