背景:win764bit英文操作系統(支持中文)
oracle11G默認安裝
從ZHS16GBK字符集導入數據庫
表現:plsql顯示為亂碼,所有漢字顯示為“靠”
解決:1、查看並更改數據庫的編碼為ZHS16GBK
$sqlplus system/oracle
SQL> select * from v$nls_parameters;
PARAMETER VALUE
------------------------ -----------------------------
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_TERRITORY CHINA
NLS_CURRENCY RMB
NLS_ISO_CURRENCY CHINA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
NLS_CHARACTERSET ZHS16GBK
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY RMB
NLS_NCHAR_CHARACTERSET UTF8
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
如果 NLS_CHARACTERSET不是ZHS16GBK, 則需進行更改
$ sqlplus /nolog
SQL> connect sys/oracle as sysdba
SQL> startup
如何設置ORACLE數據庫的編碼(ZHS16GBK)修改成UTF8
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter system enable restricted session;
SQL> alter system set job_queue_processes=0;
SQL> alter database open;
SQL> alter database character set internal_use ZHS16GBK;
SQL> shutdown immediate;
SQL> startup
另外
1.檢查下regedit->HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->HOMEO
HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE
NLS_LANG :SIMPLIFIED CHINESE_CHINA.ZHS16GBK
2、設置環境變量,NLS_LANG :SIMPLIFIED CHINESE_CHINA.ZHS16GBK
select *from ts_dict
Exception:ORA-29275: partial multibyte character
此異常是由於不同字符集導入數據時造成。1、重新導入;2、update table set field=trim(field)
REFERENCES:http://blog.csdn.net/lunzi028/article/details/4826982