Oracle SQL Developer 中文 乱码

解决方法1:修改Oracle数据库字符集:
sqlplus /nolog
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 INTERNAL_USE ZHS16GBK;
shutdown immediate;
startup;
select userenv('language') from dual;

解决方法2:修改系统字符集(通过NLS):
1)进入HKEY_LOCAL_MACHINE  -->  SOFTWARE  -->  Wow6432Node  --> Oracle  -->  KEY_OraDb11g_home1  --> NLS_LANG ,更改值为:如果要设置为中英文语言,即设置为: AMERICAN_AMERICA.ZHS16GBK ,也可以设置成中文字符集: SIMPLIFIED CHINESE_CHINA.ZHS16GBK
Oracle SQL Developer 中文 乱码_第1张图片
2)添加环境变量,NLS_LANG,值为:AMERICAN_AMERICA.WE8ISO8859P1
Oracle SQL Developer 中文 乱码_第2张图片
3)设置SQL Developer参数
Oracle SQL Developer 中文 乱码_第3张图片



总结:
通过NLS修改字符集并不管用,通过 select userenv('language') from dual;查询后可得知数据库字符集并没有变,且AMERICAN_AMERICA.WE8ISO8859P1对于中文的支持并不好用, 最终解决问题如下:强制修改服务器端数据库字符集为 AMERICAN_AMERICA.ZHS16GBK,修改客户端字符集与服务器一致,ok问题解决,也就是解决方法1管用



你可能感兴趣的:(Oracle)