共計(jì) 1393 個(gè)字符,預(yù)計(jì)需要花費(fèi) 4 分鐘才能閱讀完成。
這篇文章主要講解了“l(fā)inux oracle 數(shù)據(jù)亂碼怎么解決”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學(xué)習(xí)“l(fā)inux oracle 數(shù)據(jù)亂碼怎么解決”吧!
linux oracle 數(shù)據(jù)亂碼的解決辦法:1、查看 linux 的默認(rèn)語(yǔ)言;2、查看客戶端的語(yǔ)言編碼設(shè)置;3、修改 linux oracle 數(shù)據(jù)庫(kù)的默認(rèn)語(yǔ)言為 UTF8 即可。
本文操作環(huán)境:linux5.9.8 系統(tǒng)、Oracle Database 20c、Dell G3 電腦。
linux oracle 數(shù)據(jù)亂碼怎么辦?
Linux oracle 中文亂碼的問題解決
亂碼問題的根源是字符集的修改
1. 查看 linux 的默認(rèn)語(yǔ)言
2. 查看客戶端的語(yǔ)言編碼設(shè)置
配置文件中的配置: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 語(yǔ)句:select userenv(language) from dual
3. 查看數(shù)據(jù)庫(kù)使用的編碼:修改 linux oracle 數(shù)據(jù)庫(kù)的默認(rèn)語(yǔ)言
linux 安裝 oracle 默認(rèn)語(yǔ)言為:
AMERICAN_AMERICA.WE8MSWIN1252
此語(yǔ)言中文展示位亂碼。
通過 oracle 登錄 linux 系統(tǒng)后進(jìn)行如下操作:
修改方法(以改成 UTF8 為例)
以系統(tǒng) DBA 權(quán)限登錄 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. 修改后數(shù)據(jù)庫(kù)中原有的數(shù)據(jù)可能會(huì)出現(xiàn)錯(cuò)誤,需要重新刪除表好重新導(dǎo)入數(shù)據(jù)。
感謝各位的閱讀,以上就是“l(fā)inux oracle 數(shù)據(jù)亂碼怎么解決”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì) linux oracle 數(shù)據(jù)亂碼怎么解決這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!