首頁  >  文章  >  資料庫  >  解決oracle亂碼的問題

解決oracle亂碼的問題

hzc
hzc原創
2020-06-08 15:40:193456瀏覽

解決oracle亂碼的問題解決oracle亂碼的問題:

是不是常常看見各式各樣的亂碼,看見頭就大了,大家別怕,所有的問題都會有一個甚至不只一個的解決方案,

有句名言說的好:萬法不離其蹤。網路上大部分把工具的亂碼和程式碼操作的亂碼混為一談,方案看了一大堆都是一個貼一個的,沒有一點創新,於是今天出這篇部落格。

以下方案服務端字元集編碼是:SIMPLIFIED CHINESE_CHINA.US7ASCII  測試ok,其他編碼的可以參考

一.工具亂碼:

使用PLSQL Developer查詢或編輯的時候出現??的時候:

原因:客戶端機和伺服器上的字元集不一致

#解決:

#先查詢服務端的字元集編碼,然後將客戶端的修改一直即可;

1.查詢服務的字元集:

2.透過工具檢視客戶端的字元集編碼:

開啟工具:help-support info

解決oracle亂碼的問題

解決oracle亂碼的問題

3.設定環境變數(系統環境變數):

NLS_LANG=SIMPLIFIED CHINESE_CHINA.US7ASCII(设置的编码必须和服务端保持一致)

如果沒有生效,建議重新啟動電腦!

二.查詢亂碼:

 設定兩個:

1.修改環境變數:

NLS_LANG=SIMPLIFIED CHINESE_CHINA.US7ASCII(设置的编码必须和服务端保持一致)

2.修改登錄:(為了保險起見,找出註冊表中的NLS_LANG所有的,避免有多個)

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1

解決oracle亂碼的問題

#如果沒有生效,建議重新啟動電腦!

三.插入亂碼:

 解決中...

四.匯入或匯出亂碼:

暫無

五.服務端修改編碼:(此方案慎重使用)

cmd
sqlplus/nolog
conn/as sysdba;
shutdown immediate;
startup mount;
alter session set sql_trace=true;
alter system enable restricted session;
alter system set job_queue_processes=0;
alter system set aq_tm_processes=0;
alter database open;
alter database character set ZHS16GBK;
alter database character set internal_use ZHS16GBK;
alter database national character set internal ZHS16GBK;(如果报错,可以不用理会)
shutdown immediate;
startup;

推薦教學:《Oracle教學

以上是解決oracle亂碼的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn