Oracle新手笔记(2) 关于Oracle 9i或9i以上版本客户端连接Oracle 8i及8i版本以下服务器端中文字符乱码的解决办法...
在做項目過程中,遇到Oracle 9i或9i版本以上客戶端連接Oracle 8i及8i版本以下服務器端時,查詢出來的中文數據全部變成了亂碼。經查詢資料終于解決了亂碼問題。
開發工具是ASP.NET(C#)+ Oracle,使用System.Data.OracleClient方式連接Oracle數據庫。
解決辦法一(第一項可以不執行,但要確保服務器端和客戶端字符集一樣):
?
1.?????? 進入SQL PLUS 輸入命令:select userenv('language') from dual; 查詢字符集結果為
SIMPLIFIED CHINESE_CHINA.ZHS16GBK。
2.?????
?
開始-運行-鍵入regedit進入注冊表,為以防萬一,先備份注冊表,然后找到HKEY_LOCAL_MACHINE-SOFTWARE-ORCALE,可以看到名稱為NLS_LANG項,將其數據(鍵值)改為:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
3.?????
?
在ORACLE目錄下,其他子目錄,如有個HOMEO項,點擊HOMEO,也可以看到NLS_LANG項,刪除它。如有HOMEO1等等項,下面如有NLS_LANG項,均刪除。
4.?????? 關閉注冊表。
5.?????? 運行程序測試結果是否解決亂碼問題。
6.?????? 注意:可以先不執行第1項。但要確保客戶端和服務器端字符集一樣。
?
解決辦法二:使用System.Data.Oledb方式連接,則可以直接避免中文亂碼。
轉載于:https://www.cnblogs.com/Mcnble/archive/2009/07/01/1514907.html
總結
以上是生活随笔為你收集整理的Oracle新手笔记(2) 关于Oracle 9i或9i以上版本客户端连接Oracle 8i及8i版本以下服务器端中文字符乱码的解决办法...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sqlserver中在建立与服务器的连接
- 下一篇: shell的简介