1.字符集相關知識、如何檢視字符集
oracle字符集是乙個位元組資料的解釋的符號集合,有大小之分,有相互的包容關係。oracle 支援國家語言的體系結構允許你使用本地化語言來儲存,處理,檢索資料。它使資料庫工具,錯誤訊息,排序次序,日期,時間,貨幣,數字,和日曆自動適應本地化語言和平台。
如何查詢oracle的字符集oracle有三方面的字符集,
一 是oracel server端的字符集,二是oracle client端的字符集;三是dmp檔案的字符集。在做資料匯入的時候,需要這三個字符集都一致才能正確匯入。
檢視oracel server端的字符集select userenv('language') from dual;
檢視dmp檔案的字符集用oracle的exp工具匯出的dmp檔案也包含了字符集資訊,dmp檔案的第2和第3個位元組記錄了dmp檔案的字符集。如果dmp檔案不大,比如只有幾m或幾十m,可以用ultraedit開啟(16進製制方式),看第2第3個位元組的內容,如0354,然後用以下sql查出它對應的字符集:select nls_charset_name(to_number('0354','***x')) from dual
--檢視oracel client端的字符集 是登錄檔裡面相應oraclehome的nls_lang。(檢查客戶端登錄檔,開啟登錄檔編輯程式(regedit),在hkey_local_machine/software/oracle/nls_lang)還可以在dos視窗裡面自己設定,比如: set nls_lang=american_america.zhs16gbk 這樣就只影響這個視窗裡面的環境變
檢視所有引數:
select * from v$nls_parameters;
其他引數:
language 指定伺服器訊息的語言。
territory 指定伺服器的日期和數字格式。
nls_characterset 指定字符集
還有一些子集可以更明確定義nls_lang引數:
nls_date_format 預設的日期格式
nls_date_language 預設的日期語言
nls_numberic_characters 小數字元和組分隔開
nls_currency 本地貨幣字元
nls_iso_currency iso貨幣字元
nls_sort 字元排序序列
select value$ from props$ where name='nls_characterset'
有3個引數需要特別注意:有三個引數需要特別注意:
nls_language nls_territory nls_characterset
2 如何修改字符集
一、更改客戶端字符集為us7ascii
d:\>set nls_lang=american_america.us7ascii
更改客戶端字符集為zhs16gbk
d:\>set nls_lang=american_america.zhs16gbk
二、更改伺服器字符集為zhs16gbk (實踐成功)
sql> update props$ set value$='zhs16gbk' where name='nls_language';
alter system set nls_language=zhs16gbk
很多情況下,單純地去更改服務端的字符集,也無法解決問題,還可能造成大錯!
oracle更改字符集
修改oracle 10g的字符集 修改資料庫字符集為 zhs16gbk 首先用scott tiger orcl登入到sql plus 檢視伺服器端字符集 sql select from v nls parameters 修改 sqlplus nolog sql conn as sysdba 若 此時...
Oracle 更改字符集
裝了乙個oracle練手,入資料時漢字顯示異常,與正常工作的伺服器做了對比,發現字符集設的不對 按照如下方法更改字符集,sql conn assysdba connected.sql shutdown immediate database closed.database dismounted.ora...
oracle 檢視字符集與修改字符集
oracle字符集是乙個位元組資料的解釋的符號集合,有大小之分,有相互的包容關係。oracle 支援國家語言的體系結構允許你使用本地化語言來儲存,處理,檢索資料。它使資料庫工具,錯誤訊息,排序次序,日期,時間,貨幣,數字,和日曆自動適應本地化語言和平台。影響oracle資料庫字符集最重要的引數是nl...