解决Oracle中字符集问题

描述:

1、有的时候你前端页面和库的编码不一致,你在前端浏览页面时,就会出现乱码了

2、做数据迁移时【两端库编码一致】

(1)月末帐期做报表统计时,要把生产库的一些表迁移到报表库中

(2)公司采购了新的服务器,原库的数据迁移到新服务器上

(3)开发做压力测试时,为了模拟出的压力更真实,将生产的数据迁移到测试库。

解决中文乱码问题 WE8ISO8859P1【安装库默认字符集】

SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET'; (查看当前字符集)

SQL> shutdown immediate 【首先要正常关闭库】

SQL> startup mount 【mount状态时,刚加载参数文件】

SQL> alter system enable restricted session; (限制会话)

SQL> show parameter job_queue_processes; 【默认情况是10】

SQL> alter system set job_queue_processes=0;(工作进程为0,不再接收请求)

SQL> alter database open;

SQL> alter database character set ZHS16GBK;

(报错 新的字符集必须是老的字符集 的升级版本)

SQL> alter database character set internal_use ZHS16GBK;

(使用Oracle内部命令internal_use,跳过超集检查)

SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET'; (查看当前字符集)

SQL> shutdown immediate

SQL> startup mount

SQL> alter system set job_queue_processes=10;(改会原来值)

SQL> alter database open;

SQL> select userenv('language') nls_lang from dual;

NLS_LANG

----------------------------------------------------

AMERICAN_AMERICA.ZHS16GBK


分享到:


相關文章: