linux oracle數據亂碼的解決辦法:1、查看linux的默認語言;2、查看客戶端的語言編碼設置;3、修改linux oracle數據庫的默認語言為UTF8即可。
本文操作環境:linux5.9.8系統、Oracle database 20c、Dell G3電腦。
linux oracle數據亂碼怎么辦?
Linux oracle中文亂碼的問題解決
亂碼問題的根源是字符集的修改
1.查看linux的默認語言
?
2.查看客戶端的語言編碼設置
配置文件中的配置: cat? ~/.bash_profile
注意修改配置信息:
export?PATH export?ORACLE_HOME=/usr/lib/oracle/11.2/client64/ export?LD_LIBRARY_PATH=:$ORACLE_HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH:. export?TNS_ADMIN=$ORACLE_HOME export?PATH=$PATH:$ORACLE_HOME/bin: export?NLS_LANG=AMERICAN_AMERICA.AL32UTF8
? ? ? ?配置好后,查看配置是否成功,sql語句:select userenv(‘language’) from dual
3.查看數據庫使用的編碼:修改linux oracle數據庫的默認語言
linux 安裝oracle默認語言為:
AMERICAN_AMERICA.WE8MSWIN1252
此語言中文展示位亂碼。
通過oracle登錄linux系統后進行如下操作:
修改方法(以改成UTF8為例)
以系統dba權限登錄sqlplus
$?sqlplus?/?as?sysdba; select?userenv('language')?from?dual;
例如:AMERICAN_AMERICA.WE8MSWIN1252??
修改:
SQL>?shutdown?immediate; SQL>?startup?mount; SQL>?alter?system?enable?restricted?session; SQL>?alter?system?set?job_queue_processes=0; SQL>?alter?database?open; SQL>?alter?database?character?set?internal_use?AL32UTF8;??或者??ALTER?DATABASE?character?set?INTERNAL_USE?ZHS16GBK; SQL>?shutdown?immediate; SQL>?startup SQL>alter?system?disable?restricted?session;
4.修改后數據庫中原有的數據可能會出現錯誤,需要重新刪除表好重新導入數據。。。。。。。。
推薦學習:《linux視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦