今天认认真真疯狂码代码的时候,听到同事大呼,“数据库查出来的数据中文乱码啦!”。我心想:就这?我刚入职的时候就遇到过这种问题,自己解决啦。然后我说:放在那,我来!让我来‘盘它’。
我们现说一下数据乱码的原因:
安装好软件,进行数据查询,看到中文显示“???”,主要是因为数据的编码格式和plsql编码格式不同意导致的。
我们的解决办法很简单,
第一:查看服务器端编码select userenv('language') from dual;
图一查询结果第二:执行语句 select * from V$NLS_PARAMETERS 查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否和第一步得到的值一样。
图二如果不是,需要设置环境变量.PLSQL客户端使用的编码和服务器端编码不一致,插入中文时就会出现乱码.
第三:设置环境变量计算机->属性->高级系统设置->环境变量->新建
设置变量名:NLS_LANG,变量值:第1步查到的值, 我的是 SIMPLIFIED CHINESE_CHINA.ZHS16GBK
图三第四:查看结果的时刻:重新启动PLSQL,插入数据正常,再查看时中文信息就不会显示乱码状态啦
网友评论