Oracle字符集修改为UTF-8

Oracle客户端的字符集和服务端要一致,否则会出现乱码问题。

更改客户端字符集

连接服务器,可以查询客户端设置:

select * from v$nls_parameters;

在环境变量里设置NLS_LANG = AMERICAN_AMERICA.UTF8

更改服务端字符集

通过命令窗口的sqlplus,以system用户登录,之后执行以下命令:

>conn 用户名 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 utf8;
OR
>alter database character set internal_use utf8;
>shutdown immediate;
>startup;

至此,无论是sqlplus插入查询,还是pl/sql插入查询,都不会出现乱码。

你可能感兴趣的:(数据库)