Oracle数据库PLSQL的中文乱码显示全是问号
plsql连接数据库乱码问题
缘由:
小师妹周末叫我帮她重装数据库,这么大好的周末时光不出去玩儿,给她装数据库这不是很蛋疼么。
我问她为什么要重装,她说:数据存入数据库后,中文字符有乱码,一定是我上次给她安装数据库的时候
有问题。当初为了给她安装个数据库,可是费了九牛二虎之力,64位数据库,32位数据库客户端来回折腾了
两天才弄好,我可不想再重新给她弄。在网上找到了个解决方案,一下子就把乱码的问题解决了。
http://www.2cto.com/database/201407/313317.html
我的Oracle是11g版本的,下面以我的为例,为大家讲解下设置的过程。
步骤一
开始-运行-输入regedit-回车进入注册表,依次单击HKEY_LOCAL_MACHINE--->SOFTWARE ---> ORACLE--->KEY_OraDb11g_home1(不同版本的Oracle显示的都不太一样,但都会包含home这个单词),找到“NLS_LANG”,查看数值数据是否为:“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,如果不是就将它设置为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK。”
步骤二
设置完注册表后,接下来设置我们的环境变量,计算机(右键) --->属性--->高级系统设置--->高级--->环境变量--->新建,个人建议新建用户变量,变量名输入:“NLS_LANG”,变量值输入:“SIMPLIFIEDCHINESE_CHINA.ZHS16GBK”。点击确定即可,到此我们就设置完了。
********************************************************************************************************************************************************************************************************************************************************
下边是引用的另一个资料
这两天刚将PLSQL与Oracle配置好,可是在PLSQL中插入数据时,出现一个问题,PLSQL中的表里无法显示中文,中文无法保存、无法输出,中文在表中显示问号,如图:
原因
经过一番查证,发现问题的源头不是出现在PLSQL上,而是出现在我们的Oracle上,由于我们的Oracle数据库里的字符集不支持中文导致的,既然知道了原因,就好办了,我们就配置我们的Oracle字符集,让他支持中文。
解决办法
我的Oracle是11g版本的,下面以我的为例,为大家讲解下设置的过程。
步骤一
开始-运行-输入regedit-回车进入注册表,依次单击HKEY_LOCAL_MACHINE--->SOFTWARE ---> ORACLE--->KEY_OraDb11g_home1(不同版本的Oracle显示的都不太一样,但都会包含home这个单词),找到“NLS_LANG”,查看数值数据是否为:“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,如果不是就将它设置为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK。”
如图
步骤二
设置完注册表后,接下来设置我们的环境变量,计算机(右键) --->属性--->高级系统设置--->高级--->环境变量--->新建,个人建议新建用户变量,变量名输入:“NLS_LANG”,变量值输入:“SIMPLIFIEDCHINESE_CHINA.ZHS16GBK”。点击确定即可,到此我们就设置完了。
如图
效果
下面就看下我们的效果,关闭PLSQL,重新启动,中文果然出现了,
后记
环境变量让我们在开发中方便了很多,但是它也是好多问题的“万恶之源泉”,让人痛并快乐着的环境变量啊。
引用原文:http://www.2cto.com/database/201407/313317.html
http://www.cnblogs.com/liflying/p/4538957.html
写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,文章可以转载,无需版权。希望尽自己的努力,做到更好,大家一起努力进步!
如果有什么问题,欢迎大家一起探讨,代码如有问题,欢迎各位大神指正!