最近在家裡搞oracle的時候突然遇到一些亂碼的問題,下面介紹一下這些天總結的亂碼排除經驗
第一:首先要確定你待匯入的dmp檔案是否已經是帶亂碼的檔案(本人這次出現亂碼的原因就是因為公司開發環境的資料庫表al_attr中的資料本來就已經是亂碼了,最可怕的是每次匯入資料的時候都以這張表進行測試的,以至以後的幾天中再怎麼找資料解決亂碼問題都沒有得到實現);
第二:在運算元據庫匯出dmp檔案前最好執行一下select * from nls_database_parameters,將源dmp檔案的字符集給記錄下來,以備在待匯入資料的資料庫出現亂碼的時候進行對比,檢視字符集是否相同
以下介紹以下oracle及相應字符集的檢視及修改方法: 資料庫伺服器字符集select * from nls_database_parameters,其**於props$ 表示資料庫檔案對應的字符集的設定,可通過 update props$ set value$=『zhs16cgb231280』where name=『nls_characterset』來進行引數修改
客戶端字符集環境select * from nls_instance_parameters,其**於v$parameter,表示客戶端的字符集的設定,可能是引數檔案,環境變數或者是登錄檔
會話字符集環境 select * from nls_session_parameters,其**於v$nls_parameters,表示會話自己的設定,可能是會話的環境變數或者是alter session完成,
如果會話沒有特殊的設定,將與nls_instance_parameters一致。 客戶端的字符集要求與伺服器一致,才能正確顯示資料庫的非ascii字元。如果多個設定存在的時候,alter session>環境變數》登錄檔》引數檔案 字符集要求一致,但是語言設定卻可以不同,語言設定建議用英文。如字符集是zhs6gbk,則nls_lang可以是american_america.zhs6gbk。
以下是一些客戶端nls_lang可能對應的字符集(可以通過修改登錄檔來進行修改)
american_america.us7asciiamerican_america.we8mswin1252
american_america.zhs16gbk
american_america.al32utf8
simplified chinese_china.zhs16gbk
0 給主人留下些什麼吧!~~
oracle出現亂碼解決心得
最近在家裡搞oracle的時候突然遇到一些亂碼的問題,下面介紹一下這些天總結的亂碼排除經驗 第一 首先要確定你待匯入的dmp檔案是否已經是帶亂碼的檔案 本人這次出現亂碼的原因就是因為公司開發環境的資料庫表al attr中的資料本來就已經是亂碼了,最可怕的是每次匯入資料的時候都以這張表進行測試的,以至...
MySql亂碼解決心得
最近使用mysql資料庫,無疑的遇到了亂碼的問題,從網上找了很多很多的文章,綜合一起才把亂碼問題給解決啦!開心之餘,寫寫我自己的解決過程,也算是以後給自己提個醒!方法一 解決亂碼第一步 安裝mysql資料庫後,在資料庫中的my.ini檔案中加上character set server utf8 我裝...
java web 亂碼解決心得
關於jsp,ajax亂碼問題網上可以蒐集到一堆資料,可是大部分都是在講如何應用。我這裡主要說下我個人理解的瀏覽器端與伺服器端亂碼問題的根源與原理。首先,要說明的是服務端 如 tomcat 與瀏覽器端 如 ie 底層實現都是基於socket通訊的 不了解的朋友可以自己去學習下socket 那麼好的,如...