oracle所有的亂碼解決方案


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;

復制代碼

 

原文地址:https://www.cnblogs.com/zlp520/p/9603647.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM