安裝 Oracle 10g 後,Enterprise Manager (EM)、DBCA、NetCA、NetMgr 等 Java 圖形工具顯示中文時出現「□□」方框字符,原因是內建 JRE 預設字體不支援中文。
cd $ORACLE_HOME/jdk/jre/lib/
ls font*zh_CN* # 確認可用字體檔
cp font.properties font.properties.bak
cp font.properties.zh_CN.Redhat8.0 font.properties
cd $ORACLE_HOME/jre/1.4.2/lib/
ls font*zh_CN*
cp font.properties font.properties.bak
cp font.properties.zh_CN.Redhat8.0 font.properties
cd $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/
ls *.gif
rm -f *.gif
注意:確認路徑正確,勿誤刪其他目錄。
cd $ORACLE_HOME/bin/
./emctl stop dbconsole
./emctl start dbconsole
重新以瀏覽器登入 EM Console,中文介面應正常顯示。
Oracle 10g 內建 JRE 的 font.properties 為預設字體映射檔。系統提供多種地區化字體檔 (如 font.properties.zh_CN.Redhat8.0),直接覆蓋預設檔即可啟用中文字體支援。EM Console 會快取渲染後的中文 GIF 圖片,需清除快取強制重新渲染。
提示:Oracle 11g 及以上版本已大幅改善字體支援,若仍遇類似問題,同理可嘗試替換 $ORACLE_HOME/jdk/jre/lib/font.properties 及 $ORACLE_HOME/jre/lib/font.properties 為對應地區化字體檔。