轉:Oracle資料庫sqlplus與plsqldev解決亂碼

來源:互聯網
上載者:User

標籤:

問題描述 :

  在用eclipse使用jdbc插入中文資料的時,資料用plsqldev查詢時,正常顯示中文,但是用sqlplus查詢時,為中文亂碼,當用plsqldev直接插入中文時,也直接會出現亂碼,用sqlplus插入的中文,plsqldev讀出亂碼---> plsqldev與sqlplus出現亂碼不一致情況

解決    :

  1)使用查詢語句

1 select from v$nls_parameters;

  查詢到的 

1 NLS_CHARACTERSET                                                 AL32UTF8 --主要是看這個編碼

  網上解決方式一,修改註冊表

123 路徑:regedit>>HKEY_LOCL_MACHINE>>SOFTWARE>>ORALCE>>KEY_ORADB11G_HOME1 NLS_LANG的值設定為SIMPLIFIED CHINESE_CHINA.ZHS16GBK   --主要是修改後邊的字元編碼即可

  疑問:資料庫明明是 AL32UTF8 編碼,用戶端為什麼修改為GBK編碼 才能正常顯示。。大體可能資料庫的資源,在控制台顯示的時候會有一個預設轉碼,設定為GBK才能正常顯示。。。這個解決方案只能解決sqlplus的亂碼,而不能解決plsqldev的亂碼,有可能是我裝的是64位元據庫,又裝了一個32位的用戶端,plsqldev是依靠32位,所以這樣的修改對plsqldev沒有影響

  網上解決方式二,修改環境變數

12 NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK--加入一個系統內容變數

  這樣,plsqldev與sqlplus讀取時,都會先找系統內容變數,如果存在nls_lang變數,就不需要讀取註冊表了。。

 

最終解決方式

選擇方法二,直接修改環境變數,不需要修改註冊表,兩者都會起作用

轉:Oracle資料庫sqlplus與plsqldev解決亂碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.