oracle的NLS_LANGUAGE如何修改成SIMPLIFIED CHINESE_CHINA?

Posted

tags:

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

由 AMERICAN_AMERICA.AL32UTF8修改成SIMPLIFIED CHINESE_CHINA.AL32UTF8

    修改server端字符集在oracle 8之前,可以用直接修改数据字典表props$来改变数据库的字符集。但oracle8之后,至少有三张系统表记录了数据库字符集的信息,只改props$表并不完全,可能引起严重的后果。

    测试不行,用scott/tiger登陆sqlplus然后connect sys/sys as sysdba,然后输入命令即可 。若此时数据库服务器已启动,则先执行SHUTDOWN IMMEDIATE命令关闭数据库服务器。

ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。

所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。如果需要修改字符集,通常需要导出数据库数据,重建数据库,再导入数据库数据的方式来转换。

参考技术A alter session set NLS_LANGUAGE='SIMPLIFIED CHINESE'; 参考技术B

修改 oracle xe 默认中文字符集成为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK。


Oracle XE 执行安装程序后,很简单的默认为  SIMPLIFIED CHINESE_CHINA.AL32UTF8 ,通过如下方法可以修改成为 ZHS16GBK 。 

connect  sys   as  sysdba;

shutdown  immediate;

startup  mount;

alter  system  enable  restricted  session  ;

alter  system  set  JOB_QUEUE_PROCESSES=0;

alter  system  set  AQ_TM_PROCESSES=0;

alter  database  open  ;

alter  database  character  set  internal_use  ZHS16GBK  ;

shutdown  immediate;

startup;    

connect  sys   as  sysdba; 

shutdown  immediate;  

startup  mount ; 

alter  system  enable  restricted  session  ; 

alter  system  set  JOB_QUEUE_PROCESSES=0; 

alter  system  set  AQ_TM_PROCESSES=0; 

alter  database  open  ; 

alter  database  character  set  internal_use  ZHS16GBK  ; 

shutdown  immediate ; 

startup。

以上是关于oracle的NLS_LANGUAGE如何修改成SIMPLIFIED CHINESE_CHINA?的主要内容,如果未能解决你的问题,请参考以下文章

mybatis操作Oracle数据库如何指定NLS_LANGUAGE多语言

如何查看和修改Oracle数据库服务器端的字符集?

oralce 修改编码

怎么样查询数据库当前所用的字符集

suse linux下oracle中文显示成问号,怎样修改oracle编码

PLSQL 中文乱码