日期:2014-05-17  浏览次数:20934 次

急:如何解决PL/SQL导出Oracle的数据为乱码的问题?
我已经使用该语句查询客户端和服务端的字符集了:
select * from nls_database_parameters where parameter like '%CHARACTERSET%'

其结果分别是: 
NLS_CHARACTERSET ZHS16GBK
NLS_NCHAR_CHARACTERSET AL16UTF16

但我按照百度和google搜索出来的方法,都不准确。
注意,我是通过 PL/SQL来写Oracle的代码的。

谁帮我解决,我马上给分。

------解决方案--------------------
如果客户端是xp/win2003,按"开始"--"运行"--"regedit"打开注册表,找到HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1目录下的NLG_LANG文件,双击该文件,可以看到“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,将其值修改为"SIMPLIFIED CHINESE_CHINA.UTF8",再将服务器的NLS_CHARACTERSET对应的value值也修改为:UTF8。
------解决方案--------------------
SQL> HOST SET NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"