在 CentOS 系統中,如果遇到 SQL*Plus 亂碼問題,通常是因為字符集設置不正確。以下是一些建議來解決這個問題:
SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');
確保返回的結果顯示字符集為 AL32UTF8 或 UTF8。
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
export LANG="en_US.UTF-8"
這些變量將確保 SQL*Plus 使用正確的字符集。如果需要針對特定數據庫連接設置字符集,可以將這些變量添加到 ~/.bashrc
或 ~/.bash_profile
文件中。
~/.sqlplusrc
),添加以下行:SET NAMES UTF8
這將確保 SQL*Plus 使用 UTF-8 字符集。
重啟 SQLPlus 關閉并重新啟動 SQLPlus,以確保所有更改生效。
檢查終端字符集設置 確保終端(例如 GNOME Terminal、Konsole 等)使用的字符集與數據庫字符集匹配??梢栽诮K端的設置中找到字符集設置選項。
嘗試以上建議后,如果仍然遇到亂碼問題,請檢查數據庫連接字符串和驅動程序是否正確配置。