为什么ORACLE 插入数据中文时,是乱码????
select * from v$nls_parameters;
NLS_CALENDAR GREGORIAN
NLS_CHARACTERSET ZHT16BIG5
NLS_COMP BINARY
NLS_CURRENCY $
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE TRADITIONAL CHINESE
NLS_DUAL_CURRENCY $
NLS_ISO_CURRENCY HONG KONG
NLS_LANGUAGE TRADITIONAL CHINESE
NLS_NCHAR_CHARACTERSET WE8ISO8859P1
NLS_NUMERIC_CHARACTERS .,
NLS_SORT BINARY
NLS_TERRITORY HONG KONG
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZH:TZM
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZH:TZM

解决方案 »

  1.   

    NLS_TERRITORY HONG KONG??
    你在香港??
    把这个 NLS_CHARACTERSET 改成 AL32UTF8
    NLS_NCHAR_CHARACTERSET 改成 AL32UTF8试试!
      

  2.   

     右键 "我的电脑",在"属性"--"设置"--"环境变量"--"系统变量"中增加一项,其中变量为为NLS_LANG ,变量值为AMERICAN_AMERICA.ZHS16GBK.重启TOAD后,即可看到原为乱码的内容,显示为正常中文  这个是我在Toad里出现问题。您可以试试!
      

  3.   


    1:查看服务器端字符集
    select userenv('language') from dual;USERENV('LANGUAGE')
    ----------------------------------------------------
    SIMPLIFIED CHINESE_CHINA.ZHS16GBK2.客户端 NLS_LANG 的设置方法Windows:CMD下运行
    常用中文字符集
    set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    常用unicode字符集
    set NLS_LANG=american_america.AL32UTF8
    可以通过修改注册表键值永久设置
    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS_LANG