oracle全部的乱码解决方案html
是否是常常看见各式各样的乱码,看见头就大了,你们别怕,全部的问题都会有一个甚至不止一个的解决方案,有句名言说的好:万法不离其踪。网上大部分把工具的乱码和代码操做的乱码混为一谈,方案看了一大堆都是一个粘贴一个的,没有一点创新,因而今天出这篇博客。web
如下方案服务端字符集编码是:SIMPLIFIED CHINESE_CHINA.US7ASCII 测试ok,其余编码的能够参考sql
一.工具乱码:服务器
使用PLSQL Developer查询或者编辑的时候出现??的时候:session
缘由:客户端机和服务器上的字符集不一致oracle
解决:app
先查询服务端的字符集编码,而后将客户端的修改一直便可;工具
1.查询服务的字符集:post
2.经过工具查看客户端的字符集编码:测试
打开工具:help-support info
3.设置环境变量(系统环境变量):
NLS_LANG=SIMPLIFIED CHINESE_CHINA.US7ASCII(设置的编码必须和服务端保持一致)
若是没有生效,建议重启电脑!
二.查询乱码:
设置两个:
1.修改环境变量:
NLS_LANG=SIMPLIFIED CHINESE_CHINA.US7ASCII(设置的编码必须和服务端保持一致)
2.修改注册表:(为了保险起见,查找注册表中的NLS_LANG全部的,避免有多个)
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1
若是没有生效,建议重启电脑!
三.插入乱码:
解决中...
四.导入或导出乱码:
暂无
五.服务端修改编码:(此方案慎重使用)
cmd sqlplus/nolog conn/as sysdba; shutdown immediate; startup mount; alter session set sql_trace=true; 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 ZHS16GBK; alter database character set internal_use ZHS16GBK; alter database national character set internal ZHS16GBK;(若是报错,能够不用理会) shutdown immediate; startup;