Oracle 解决中文乱码问题
- 查看服务器端编码
select userenv('language') from dual;
- 实际查到的结果为:
AMERICAN_AMERICA.ZHS16GBK
- 执行语句
select * from V$NLS_PARAMETERS
-
- 查看第一行中
PARAMETER
项中为NLS_LANGUAGE
对应的VALUE
项中是否和第一步得到的值一样 - 如果不是,需要设置环境变量
- 否则PLSQL客户端使用的编码和服务器端编码不一致,插入中文时就会出现乱码。
- 设置环境变量
-
- 计算机->属性->高级系统设置->环境变量->新建
- 设置变量名:NLS_LANG–变量值,填入第1步查到的值,
AMERICAN_AMERICA.ZHS16GBK
- 重新启动PLSQL,插入数据正常。