Oracle中的亂碼解決

2021-05-24 10:50:26 字數 1694 閱讀 9448

之前在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...