PL/SQL执行语句中文乱码



查看数据字符集:

select * from nls_database_parameters where parameter =‘NLS_CHARACTERSET‘;
结果:
 NLS_CHARACTERSET ZHS16GBK


1.在windows中创 建一个名为“NLS_LANG”的系统环境变量,设置其值为查询出来的value
    比如: 新建系统环境变量,设置变量名:NLS_LANG
变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
然后重新启动 pl/sql developer。

2.也可以在注册表中修改NLS_LANG的值。
运行REGEDIT,第一步选HKEY_LOCAL_MACHINE,第二步选择SOFTWARE,第三步选择 Oracle,第四步选择 NLS_LANG,输入与服务器端相同的字符集, 然后重新启动 pl/sql developer。

 进入注册表,依次单击HKEY_LOCAL_MACHINE --->SOFTWARE ---> ORACLE--->home(小编安装的是Oracle 11g,这里显示成KEY_OraDb11g_home1),找到NLS_LANG,查看数值数据是否为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
3.系统输入法问题:
 
问题出在输入法里面,windowsxp默认的输入法为英语,键盘模式为美式键盘,这个选项一直用于win98中,同时提供的还有中文键盘的模式,由于win98中使用美式键盘没有任何问题,所以我在设置的时候,把中文键盘删除了,只保留了英文键盘。就是由于这个问题才出现复制中出现伦马的问题。直到这些就很好办了,删除英文的美式键盘模式,添加中文键盘模式并且设置为默认值就ok了!
4.输入sql语句select * from V$NLS_PARAMETERS查看字符集,查看第一行value值是否为简体中文
          
1 NLS_LANGUAGE SIMPLIFIED CHINESE
2 NLS_TERRITORY CHINA
3 NLS_CURRENCY ¥
4 NLS_ISO_CURRENCY CHINA
5 NLS_NUMERIC_CHARACTERS .,
6 NLS_CALENDAR GREGORIAN
7 NLS_DATE_FORMAT DD-MON-RR
8 NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
9 NLS_CHARACTERSET ZHS16GBK

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。