錯誤現象:
在windows下用其他工具訪問oracle,確認中文正常顯示。在Linux下使用sqlplus查詢數據表中文內容出現亂碼。
分析及解決:
因為windows下正常,所以問題應出現在Linux客戶端。用下列sql查詢數據庫字符集為“ZHS16GBK”:
SELECT * FROM nls_database_parameters t WHERE t.parameter = 'NLS_CHARACTERSET';
設置環境變量NLS_LANG,問題解決。
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
其他:
export LANG="zh_CN.GB18030" 可解決Linux顯示中文文件名的問題。
rpm -aq | grep fonts-chinese 用於查看Linux是否安裝中文字體。