解解決oracle亂碼的問題:
是不是常常看見各式各樣的亂碼,看見頭就大了,大家別怕,所有的問題都會有一個甚至不只一個的解決方案,
有句名言說的好:萬法不離其蹤。網路上大部分把工具的亂碼和程式碼操作的亂碼混為一談,方案看了一大堆都是一個貼一個的,沒有一點創新,於是今天出這篇部落格。
以下方案服務端字元集編碼是:SIMPLIFIED CHINESE_CHINA.US7ASCII 測試ok,其他編碼的可以參考
一.工具亂碼:
使用PLSQL Developer查詢或編輯的時候出現??的時候:
原因:客戶端機和伺服器上的字元集不一致
#解決:
#先查詢服務端的字元集編碼,然後將客戶端的修改一直即可;
1.查詢服務的字元集:
2.透過工具檢視客戶端的字元集編碼:
開啟工具:help-support info
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
#如果沒有生效,建議重新啟動電腦!
三.插入亂碼:
解決中...
四.匯入或匯出亂碼:
暫無
五.服務端修改編碼:(此方案慎重使用)
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中文網其他相關文章!