首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle Enterprise Manager Database Control 中文亂碼解決方案(JDK 字體配置)

     編輯:Oracle 資料庫基礎

問題現象

Oracle 10g EM Database Control 網頁介面中文顯示亂碼(方塊字、亂碼字符),英文正常。環境:Fedora 7 + Oracle 10.1.0.2。

根因分析

Oracle 10g 內建 JDK 1.4.2 / JRE 1.4.2,預設字體配置檔 font.properties 參考的中文字體在 Linux 系統中不存在或路徑錯誤,導致 Java 圖形環境無法渲染中文。

解決步驟

1. 定位 JDK/JRE 字體配置目錄

/opt/Oracle/product/10.1.0/Db_1/jdk/jre/lib
/opt/Oracle/product/10.1.0/Db_1/jre/1.4.2/lib

2. 替換字體配置檔

cd /opt/Oracle/product/10.1.0/Db_1/jdk/jre/lib
cp font.properties.zh.Turbo font.properties  # 複製含中文支援的配置檔

# 同步處理 JRE 目錄
cd /opt/Oracle/product/10.1.0/Db_1/jre/1.4.2/lib
cp font.properties.zh.Turbo font.properties

3. 驗證字體路徑正確性

編輯 font.properties,確認最後兩行指向系統實際字體目錄(Fedora 7 範例):

filename.-tlc-song-medium-r-normal--*-%d-*-*-c-*-gbk-0=/usr/share/fonts/chinese/TrueType/uming.ttf
appendedfontpath=/usr/share/fonts/chinese/TrueType/

若系統無 uming.ttf,安裝中文字體套件:yum install cjkuni-uming-fonts 或複製任意 TTF 中文字體至該目錄。

4. 測試 Java 控制台中文顯示

/opt/Oracle/product/10.1.0/Db_1/jdk/jre/bin/ControlPanel
# 或
/opt/Oracle/product/10.1.0/Db_1/jre/1.4.2/bin/ControlPanel

彈出的 Java 控制面板若中文正常,字體配置成功。

5. 清除 EM 快取並重啟服務

emctl stop dbconsole
isqlplusctl stop

# 刪除中文快取圖片目錄
rm -rf /opt/Oracle/product/10.1.0/Db_1/J2EE/oc4j_applications/applications/em/em/cabo/images/cache/zhs/

emctl start dbconsole
isqlplusctl start

6. 驗證 EM 網頁中文正常

瀏覽器訪問 https://host:5500/em,中文選單、報表、告警訊息均正常顯示。

補充說明

  • Oracle 11g/12c/19c 同理,目錄路徑隨 ORACLE_HOME 變化,JDK 版本升級為 1.8/11,字體配置檔名可能為 fontconfig.properties.src,邏輯相同。
  • Windows 環境無此問題,系統字體自動回退機制完善。
  • 若仍有亂碼,檢查瀏覽器編碼設定(UTF-8)與資料庫字符集(NLS_CHARACTERSET)一致性。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved