从pl/sql7.0导出的字符是乱码,还不是中文是乱码。
如:包年套餐-1000元,导出的东西是“包年套餐?1000元”。
请高手指教

解决方案 »

  1.   

    注册表 或者环境变量设置一下nls_lang吧,具体方法搜索一下更详细
      

  2.   

    1。select * from v$nls_parameters  查询nls的参数,获得数据库服务器端的字符编码  NLS_LANGUAGE  NLS_CHARACTERSET  2。修改本地环境变量,设置  NLS_LANG = SIMPLIFIED CHINESE.ZHS16GBK //这个是我们的数据库字符编码  NLS_LANG格式:  NLS_LANG = language_territory.charset  有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。其中:language 指定服务器消息的语言。  territory 指定服务器的日期和数字格式。  charset 指定字符集  也可更改相应注册表项  HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_XE\NLS_LANG  需要保证要设置客户端字符集与服务器端字符集一致。  以上都是更改PL/SQL Developer的字符编码方式。如果还是不行,且你装的是英文版或者其他版本系统,改变本地电脑字符集。具体步骤,控制面板-语言-高级-中文。。
    还是不行的话,建议使用SQL DEVELOPER,有自动匹配本地的字符集
      

  3.   

    导出Excel吗?
    如果是这问题,上次我遇到过,我就算修改注册表设置了字符集,导出的还是乱码!
    你尝试导出csv文件,然后新建一个空白的excel文件。选择菜单栏的“数据”--》“导入外部数据”--》“导入数据”接着就自己看着办了
      

  4.   

    。select * from v$nls_parameters  查询nls的参数,获得数据库服务器端的字符编码  NLS_LANGUAGE  NLS_CHARACTERSET  2。修改本地环境变量,设置  NLS_LANG = SIMPLIFIED CHINESE.ZHS16GBK //这个是我们的数据库字符编码  NLS_LANG格式:  NLS_LANG = language_territory.charset  有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。其中:language 指定服务器消息的语言。  territory 指定服务器的日期和数字格式。  charset 指定字符集  也可更改相应注册表项  HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_XE\NLS_LANG  需要保证要设置客户端字符集与服务器端字符集一致。  以上都是更改PL/SQL Developer的字符编码方式。
    哈哈!窃书下!!