您的位置:首页 > 数据库 > Oracle

Oracle因安装时未设定字符集导致中文乱码的解决方案

2014-01-26 16:20 441 查看
在Centos6.4上安装Oracle11g没有设定字符集,采用的是操作系统默认字符集:WE8MSWIN1252,将字符集修改为:AL32UTF8。

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

SIMPLIFIED CHINESE_CHINA.WE8MSWIN1252

SQL> select * from nls_database_parameters where parameter in ('NLS_CHARCTERSET','NLS_NCHAR_CHARACTERSET');

SQL> select* from v$nls_parameters where parameter='NLS_CHARACTERSET';

操作过程如下:

SQL> shutdown immediate

SQL> startup

SQL> alter session set sql_trace=true;

SQL> alter
system enable restricted session;

SQL> show parameter job_queue_processes;

SQL> alter system set job_queue_processes=0;

SQL> alter system set aq_tm_processes=0;

SQL> alter database open;

SQL> alter database character set INTERNAL_USE
AL32UTF8;

SQL> update props$ set VALUE$='UTF8' where NAME='NLS_NCHAR_CHARACTERSET';

改变字符集后,原来已有的数据不会改变,只是之后新增的数据会是新的字符集。

-- 参考:
http://www.2cto.com/database/201312/268486.html http://blog.csdn.net/home_zhang/article/details/8073276
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: