如何解決oracle客戶端中文亂碼問題?

2021-12-30 06:14:44 字數 797 閱讀 7822

基本情況:linux伺服器上的oracle剛裝好導了點資料進去,在自己的電腦上用plsql進去查詢時亂碼

接下裡進入正題。

1.亂碼原因:

window,sqlplus,oracle字符集不一致導致的

2.解決思路

將sqlplus與作業系統的編碼設為一致狀態

3.解決方法

1.對於linux終端,檢視.bashrc或者.bash_profile或者etc/prifile裡的export nls_lang是否為"oralce服務端的字符集"

oralce服務端的字符集=select userenv('language') from dual;支援中文的一般為american_america.zhs16gbk

如果oracle裡的字符集不支援中文,則需修改。

對於window的plsql,在系統變數裡新增一項nls_lang,內容為american_america.zhs16gbk

4.注意

另外還需要注意用在shell檔案裡的字元編碼名稱與oracle是長的不一樣的。

比如這個zh_cn.utf8是字符集的localeid而不是字符集的名稱,真正的名稱叫simplifiedchinese_china.al32utf8,如果設定成zh_cn.utf8,oracle會報ora-12705: cannotaccess nls data files or invalid environmentspecified錯誤。在.bash_profile裡面加入nls_lang="simplifiedchinese_china.al32utf8"; export nls_lang問題就解決了。

解決oracle客戶端中文亂碼

基本情況 linux伺服器上的oracle剛裝好導了點資料進去,在自己的電腦上用plsql進去查詢時亂碼 接下裡進入正題。1.亂碼原因 window,sqlplus,oracle字符集不一致導致的 詳細解釋請看 2.解決思路 將sqlplus與作業系統的編碼設為一致狀態 3.解決方法 1.對於lin...

oracle客戶端中文亂碼問題的解決

select userenv language from dual 我實際檢視到的結果為 userenv language american america.zhs16gbk select from v nls parameters 檢視第一行parameter項中為nls language對應的v...

解決SSH客戶端中文亂碼

在window上使用sshclient經常出現亂碼的問題,原因是因為ssh客戶端的字符集跟window環境上的字符集不相同導致的。解決方法 1 首先,調出window的命令列介面,在頂部空白處右擊,選擇屬性 2 檢視當前環境的編碼集,我的環境為gbk格式。3 在linux上輸入 locale a 查...