1. 程式人生 > >oracle資料庫字符集和客戶端字符集(2%)是不同的,字符集轉化可能會造成不可預期的後果

oracle資料庫字符集和客戶端字符集(2%)是不同的,字符集轉化可能會造成不可預期的後果

 

轉載請在文章顯眼位置註明出處:https://www.cnblogs.com/sunshine5683/p/10036321.html

今天在plsql連線oracle時候報錯提示“資料庫字符集和客戶端字符集(2%)是不同的,字符集轉化可能會造成不可預期的後果”如下圖:

經過查閱資料發現數據庫編碼與客戶端編碼問題,然後通過以下命令順利解決:

這段引用於:https://blog.csdn.net/t_wangjiyang/article/details/79020173 

問題描述:本地連線伺服器oracle資料庫時,提示(資料庫字符集和客戶端字符集(2%)是不同的,字符集轉化可能會造成不可預期的後果) 問題原因:問題出在oracle服務端的字符集不支援中文導致。 可以通過: sselect
* from nls_database_parameters; 命令可以檢視服務端的使用的字符集。 查詢結果中,NLS_CHARACTERSET的值就是字符集 解決步驟如下 1、ssh登入,切換到oracle使用者 切換使用者命令:su -oracle 之後用sqlplus登入oracle,命令: sqlplus /nolog connect /as sysdba 2、更改字符集 首先 sqlplus登入後,關閉oracle資料庫 1.shutdown immediate ;      2.startup mount ;     
3.alter  system enable restricted session ;       4.alter  system  set  JOB_QUEUE_PROCESSES=0;       5.alter  system  set  AQ_TM_PROCESSES=0;       6.alter   database   open  ;      
7. alter database character set INTERNAL_USE ZHS16GBK;       8.shutdown immediate ;      9.startup ;     注:第七步報錯可修改成:alter database character set INTERNAL_USE ZHS16GBK; 

此處確實如上面所說,報錯了,使用第七步的修改語句順利執行

 

 此時連線資料庫,不再提示,說明編碼已經修改

 

到此,問題解決!