資料庫編碼中文亂碼

來源:互聯網
上載者:User

標籤:

編碼永遠是一個讓非英文國家苦惱的問題,親測解決方案如下:
1.
查看伺服器端編碼
select userenv(‘language‘) from dual;
我實際查到的結果為:AMERICAN_AMERICA.AL32UTF8
2.
執行語句 select * from V$NLS_PARAMETERS  
查看第一行中PARAMETER項中為NLS_LANGUAGE 對應的VALUE項中是否和第一步得到的值一樣。
如果不是,需要設定環境變數.
否則PLSQL用戶端使用的編碼和伺服器端編碼不一致,插入中文時就會出現亂碼.
3.
設定環境變數
電腦->屬性->進階系統設定->環境變數->建立
設定變數名:NLS_LANG,變數值:第1步查到的值(我的是AMERICAN_AMERICA.AL32UTF8).
4.
重新啟動PLSQL,插入資料正常

補充:PL/SQL匯入資料到另一資料庫亂碼


匯入資料庫為:SIMPLIFIED CHINESE_CHINA.ZHS16GBK;

匯出資料庫為: AMERICAN_AMERICA.AL32UTF8

為了方便解決此問題,所以就修改了匯入資料庫所使用的語言跟字元集.

開始菜單開啟運行對話方塊,使用”regedit“命令進入註冊表,找到我的電腦下的:HKEY_LOCAL_MACHINE/SOFTWARE

/ORACLE/KEY_OraDb10g_home1(此路徑為oracle在註冊表中的配置資訊),

查看名稱為NLS_LANG的值為SIMPLIFIED CHINESE_CHINA.ZHS16GBK,修改成AMERICAN_AMERICA.AL32UTF8,

然後重新進入PL/SQL再次匯入資料,應該就正常了.

資料庫編碼中文亂碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.