之前在linux上安裝oracle,在安裝時沒有選擇字符集,在後來向其中插入中文資料時,就會出現亂碼。
查詢oracle的字符集 修改字符集 這個不是很常用,特此記一下。
查詢oracle的字符集
we8iso8859p1 預設
select userenv(』language』) from dual;
方法一
sql> select userenv(』language』) from dual;
userenv(』language』)
------------------
american_america.we8iso8859p1
方法二
sql> select * from v$nls_parameters;
parameter value
---------------------- ----------------------
nls_language american
nls_territory america
nls_currency $
nls_iso_currency america
nls_numeric_characters .,
nls_calendar gregorian
nls_date_format dd-mon-rr
nls_date_language american
nls_characterset we8iso8859p1
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 $
nls_nchar_characterset al16utf16
nls_comp binary
nls_length_semantics byte
nls_nchar_conv_excp false
修改字符集
connect system/oracle10g as sysdba;
update props$ set value$=』utf8』 where name=』nls_characterset』;
shutdown immediate;
startup mount;
alter system enable restricted session ;
alter system set job_queue_processes=0;
alter system set aq_tm_processes=0;
alter database open;
alter database character set internal_use utf8;
alter database national character set internal_use utf8;
shutdown immediate;
startup;
這個不是很常用,特此記一下。
oracle亂碼解決
fyi 由於歷史的原因,早期的oracle沒有中文字符集 如oracle6 oracle7 oracle7.1 但有的使用者從那時起就使用資料庫了,並用us7ascii字符集儲存了中文,或是有的使用者在建立資料庫時,不考慮清楚,隨意選擇乙個預設的字符集,如we8iso8859p1或us7ascii,...
ORACLE 中PLSQL中文亂碼解決
plsql執行sql語句,不識別中文,輸出的中文標題顯示成問號?登陸plsql,執行sql語句,輸出的中文標題顯示成問號?條件包含中文,則無資料輸出 首先 1 查詢plsql中字符集 2.進入登錄檔,依次單擊hkey local machine software oracle home 這裡安裝的是...
ORACLE亂碼問題的解決
使用sqlplus連線oracle資料庫的時候,老是出現?一類的字元,主要是因為 伺服器和客戶端語言設定不相同。日文環境下 伺服器端的設定為 ja16sjis,客戶端沒有作設定就出現了上述現象。請將環境變數設值為 csh setenv nls lang american japan.ja16sjis...