通过PL/SQL中文字段显示乱码或者导出数据出现乱码,原因是数据库的编码格式和PL/SQL的编码格式不统一导致。
查看ORACLE数据库字符集:
select userenv('language') from dual;
查询结果:
SIMPLIFIED CHINESE_CHINA.AL32UTF8
SIMPLIFIED CHINESE_CHINA.ZHS16GBK (我的数据库结果)
修改PL/SQL的编码格式:
1. 在windows中创建一个名为“NLS_LANG”的系统环境变量,设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”。
2. 重启PL/SQL,这样检索出来的中文内容就不会是乱码了。
如果想转换为UTF8字符集,可以赋予“NLS_LANG”为 “AMERICAN_AMERICA.UTF8”,然后重新启动 PL/SQL。其它字符集设置同上。