当我们装了64位的oracle11g,然而发现PLSQL没有64位的,这时会造成了我们连接的麻烦,怎么将oracle11g_64位连接32位PLSQL的方法这里就不介绍了。当我们连接成功后却发现用PLSQL向表里插入数据后会出现中文乱码。要怎样解决乱码问题呢?
首先,我们要弄清为什么会出现中文乱码。
由于咱们的数据库是64位的,而操作软件PLSQL是32位的。
也就是说你用PLSQL编写的中文是符合32位的字符集,而数据库只能正确储存是64位的中文字符集,这导致了写和读不是一种字符集,最终导致中文变成问号或乱码。
解决方法其实也很简单
右击我的电脑--电脑属性--高级系统设置--环境变量。
找到变量名:NLS_LANG(没有的话新建一个,有的话点击--编辑)。
将它的变量值改为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
然后点击--确定。
按下WIN+R(WIN就是带微软图标的那个按键),输入:regedit 打开注册表。
找到HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->KEY_OraDb11g_home1
找到:NLS_LANG。
右击NLS_LANG——点击——修改——数值数据改为:SIMPLIFIED
CHINESE_CHINA.ZHS16GBK
最后点击--确定。
重新运行你的PLSQL就会发现乱码问题已经解决
此外还有一种解决方法:
创建plsql.bat
编辑里面的内容为
@echo
off
set
path=G:\app\Administrator\product\11.2.0\client_1
set
ORACLE_HOME=G:\app\Administrator\product\11.2.0\client_1
set
TNS_ADMIN=G:\app\Administrator\product\11.2.0\client_1
set
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
start ""
"E:\PLSQL\PLSQL Developer\plsqldev.exe"
里面的内容以自己的实际情况为准,保存后,用此方法打开的plsql应该就不会乱码