上次公司做阿尔及利亚项目,项目倒是普通,坑爹的是阿尔及利亚用的是法语和阿语。
然后要向数据库插入翻译后的脚本,结果。。。。。。爆了,插入数据库中都是乱码。后来网上找了不少资料,但基本没有对口的,后来自己捣鼓实验,结果还是成功导入了,现在分享一下经验,希望能帮助遇到同类问题的程序猿!~
新手一贴,不喜勿碰哦!~
第一步:查看Oracle数据库默认字符集编码
很多人说可以改Oralce服务端字符集编码,我就想喷了,服务端既然已经设置好了,不可能随便就改吧!~当初设置此编码肯定有原因的。行不通。
select userenv('language') from dual;
第二步:设置PL/SQL 环境变量的字符集与这个相同
变量名:PLS_LANG
变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
此时,完成这两步,基本插入时不会显示乱码了;
当然还有一种情况,就是导入的SQL文件的字符集编码必须也要与服务端的相同,如Oracle服务端的字符编码是utf-8,可以在nodepade++里面打开SQL,修改字符集编码也为uff-8,基本能解决此问题。
此问题的由因是因为PL/SQL developer的客户端字符集编码和Oracle数据库的服务端编码不一致导致的。