Oracle開發之中文亂碼的問題 二

2021-06-17 01:12:57 字數 788 閱讀 2140

c#訪問oracle,本來是很常見的,但是在實際的工作中確實遇到了各種各樣的異常,特此分析並總結如下,以便以後查詢方便:

資料庫的字符集常用的兩種方式:

美國編碼simplified chinese_china.us7ascii

中國編碼simplified chinese_china.zhs16gbk

連線方式:

1.oledb連線

oledb連線oracle分為兩種方式,即分別微軟和oracle寫的不同的驅動。

provider=msdaora.1是微軟寫的驅動

provider=oraoledb.oracle是oracle自帶的驅動

小結:使用msdaora.1驅動的oledb連線,不管資料庫字符集是美國編碼us7ascii還是中國編碼zhs16gbk,都不會出現亂碼,若出現亂碼,可能是本地oracle與服務端oracle字符集不相同導致的。需要修改登錄檔nls_lang變數。但是,在x64位oracle上使用msdaora.1時,會出現未在本地計算機上註冊「msdaora.1」提供程式的問題。也就是說msdaora.1在64位的oracle支援不好。

使用oraoledb.oracle驅動的oledb連線,對中國編碼zhs16gbk支援很好。若oracle字符集是美國編碼us7ascii,資料讀取無亂碼,寫入有亂碼,並且做為where條件傳進去的中文引數為亂碼。

oraoledb.oracle對oracle的32位或者64位不受影響。

2.其他的連線方式

AndroidStudio開發之中文亂碼解決辦法

在 android studio中,無論是自己新建的專案,還是import的專案,只要其中涉及中文,極有可能會出現亂碼問題,導致在手機介面上顯示達不到預期的效果。如下所示 解決方案如下 1 開啟file settings editor file encodings,會出現以下介面 一般只要設定上方的...

Python入門之中文亂碼

python入門編碼 python 檔案中如果未指定編碼,有中文 時候,在執行過程會出現報錯 file test.py line 2 syntaxerror non ascii character xe4 in file test.py on line 2,but no encoding decla...

Python入門之中文亂碼

python入門編碼 python 檔案中如果未指定編碼,有中文 時候,在執行過程會出現報錯 file test.py line 2 syntaxerror non ascii character xe4 in file test.py on line 2,but no encoding decla...