缘由: PLSQL乱码问题皆是ORACLE服务端字符集编码与PLSQL端字符集编码不一致引发。相似乱码问题均可以从编码是否一致上面去考虑。sql
解决:编码
查询Oracle服务端字符集编码,获取NLS_CHARACTERSET字段值: 执行 sql代码
select * from v$nls_parameters 保存查询到的值,如:NLS_CHARACTERSET = ZHS16GBK变量
查询Oracle服务端语言信息: 执行 sql代码
SELECT 'AMERICAN_AMERICA.' || PROPERTY_VALUE FROM DATABASE_PROPERTIES 保存查询到的值,如:AMERICAN_AMERICA.ZHS16GBK乱码
设置本地环境变量。(PLSQL优先从环境变量中获取属性) 右击 个人电脑 -> 属性 -> 高级系统设置 -> 高级 -> 环境变量 -> 系统变量-> 新建系统变量 新增以下两条记录: NLS_CHARACTERSET = ZHS16GBK NLS_LANG = AMERICAN_AMERICA.ZHS16GBKselect