前面講 將font.properties內的代碼TTF路徑修改成自己的中文TTF文件路徑。
也可以用另一種方法,不需要修改路徑,只需在fonts文件夾下新建一個文件夾目錄,與原代碼的路徑相對應即可。
詳細參見 Ubuntu 6.10中JDK 1.5與 Oracle 10g中文亂碼問題的解決
JDK 1.5中文問題的解決
查看這個文件的末尾部分,可以看見幾行設定字體路徑的代碼。當然我們只需要關心簡體中文字體的路徑:
filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf
awtfontpath.chinese-gb18030=/usr/share/fonts/zh_CN/TrueType
對於Ubuntu
6.10,默認下是找不到/usr/share/fonts/zh_CN/TrueType目錄和zysong.ttf字體文件的。在JDK
1.5下運行SWING程序出現中文亂碼,原因就在此。所以接下來就要建立這個目錄,並拷貝一箇中文字體,並重命名爲zysong.ttf。
至此,JDK1.5中文亂碼問題已經解決。
Oracle 10g dbca界面中文亂碼的解決
解決原理與上文相同,只不過JDK 1.5換成了JDK1.4.
sudo gedit {ORACLE_HOME}/jdk/jre/lib/font.properties
轉到這個文件的末尾,可以看到兩行代碼:
filename.-misc-fzsongti-medium-r-normal--*-%d-*-*-p-*-iso10646-1=/usr/X11R6/lib/X11/fonts/truetype/songti_gb.ttf
appendedfontpath=/usr/X11R6/lib/X11/fonts/truetype
很湊巧,我的Ubuntu 6.10上面根本找不到/usr/X11R6/lib/X11/fonts/truetype這個目錄。和上文一樣,改爲:
filename.-misc-fzsongti-medium-r-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf
appendedfontpath=/usr/share/fonts/zh_CN/TrueType
運行一下dbca,發現中文終於顯示正常了
Oracle 10g EM企業管理器WEB界面中的中文亂碼的解決
這個要修改
{ORACLE_HOME}/jre/lib/font.properties文件,改動內容和上文完全一樣。
$ emctl stop dbconsole
$ cd {ORACLE_HOME}//oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs
$ rm *.gif
$ emctl start dbconsole
然後把瀏覽器的緩存清理一下,重新訪問:
http://localhost:1158/em
發現中文亂碼終於不見了。