oralce 修改编码

Posted ldy-study

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oralce 修改编码相关的知识,希望对你有一定的参考价值。

 
描述:将不同字符集oracle数据导入另一个oracle时,出现中文乱码现象。

一、oracle字符集查询

select userenv(‘language‘) from dual; 查询结果:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

其中NLS_CHARACTERSET 为server端字符集

NLS_LANGUAGE 为 server端字符显示形式


二、查询oracle client端的字符集

$echo $NLS_LANG

如果发现你select 出来的数据是乱码,请把client端的字符集配置成与linux操作系统相同的字符集。如果还是有乱码,则有可能是数据库中的数据存在问题,或者是oracle服务端的配置存在问题。

 

三、server端字符集修改

更改字符集步骤方法(WE8ISO8859P1 --> ZHS16GBK)

1.开始 - 运行 - 输入cmd 进入命令提示符

输入

sqlplus /nolog

 

2.以管理员身份登录sqlplus

sql> conn / as sysdba;
sql> shutdown immediate;
database closed.
database dismounted.
oracle instance shut down.
sql> startup mount;
oracle instance started.
total system global area 135337420 bytes
fixed size 452044 bytes
variable size 109051904 bytes
database buffers 25165824 bytes
redo buffers 667648 bytes
database mounted.
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> alter database character set  internal_use ZHS16GBK;
sql> shutdown immediate;
sql> startup;
 
四、修改pl/sql developer 的编码

  在windows中创 建一个名为“NLS_LANG”的系统环境变量,设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,然后重新启动 pl/sql developer,这样检索出来的中文内容就不会是乱码了。如果想转换为UTF8字符集,可以赋予“NLS_LANG”为 “AMERICAN_AMERICA.UTF8”,然后重新启动 pl/sql developer。其它字符集设置同上

以上是关于oralce 修改编码的主要内容,如果未能解决你的问题,请参考以下文章

oralce修改表操作

使用带参数方式新增或修改可为空的非字符串类型数据到oralce数据库

修改oralce数据库用户名和密码

oralce如何修改默认的XDB监听端口

oralce数据库常用到的一些sql命令(加字段注释,修改数据之类)

markdown 打字稿...编码说明,提示,作弊,指南,代码片段和教程文章