Linux下jdk1.5的安裝及中文顯示問題解決方案(轉)

ba發表於2007-08-11
Linux下jdk1.5的安裝及中文顯示問題解決方案(轉)[@more@]Windows下安裝和環境設定以及中文顯示可以說是傻瓜式的。但是Linux下就不會那麼順利了,尤其是中文字型的顯示一直以來總是困擾著使用者。Jdk 1.5.0的中文顯示設定和j2sdk 1.4.x時相比已經有了很大的改變。本文著重介紹jdk1.5在Linux作業系統下的安裝、環境變數設定和中文顯示問題的解決。


1 首先,從sun下載jdk1.5的安裝檔案,一般有兩種。
下載地址:
Linux RPM in self-extracting file (jdk-1_5_0-linux-i586-rpm.bin, 42.50 MB)
Linux self-extracting file (jdk-1_5_0-linux-i586.bin, 43.95 MB)

說一下兩個安裝檔案的區別,Linux RPM in self-extracting file是一個把rpm安裝包封裝在壓縮包內的二進位制格式,在linux作業系統的命令列下,給檔案加上執行的許可權chmod a+x jdk-1_5_0-linux-i586-rpm.bin,然後./jdk-1_5_0-linux-i586-rpm.bin之後可以得到jdk-1_5_0-linux-i586.rpm這個rpm包。前者的好處是容易安裝和維護,傻瓜式的。而後者則適合高階的使用者,相當於一個zip版本的“綠色”jdk,沒有安裝程式,安裝完之後可能需要做一些連結(具體可以參考jdk安裝指南文件)。同樣地給後者加上執行許可權之後直接執行二進位制檔案即可得到jdk 1.5.0,一般使用者的習慣都是將jdk放在/usr/java下,rpm安裝後預設是在/usr/java下。

2 安裝好之後要做的便是環境變數的設定,也可分為兩種不同的情況。
第一種是對於單個使用者的的環境變數設定。需要修改使用者所對應的.bash_profile檔案。我們可以透過vi ~/.bash_profile來編輯當前使用者的bash_profile檔案,當然你也可以用你自己喜歡的編輯器。在開頭或者適當的地方插入一下程式碼:
export JAVA_HOME=/usr/java/jdk1.5.0
export CLASSPATH=.
export PATH=$JAVA_HOME/bin:$PATH
然後儲存檔案,登出重新登陸之後在控制檯下輸入java –version,如果出現一下資訊則說明安裝設定已經成功。
注意:此程式碼是為了看起來簡單,所以沒有加上覆雜的變數引用,熟悉shell的使用者可以參 照第二種方法的程式碼進行修改。
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)

第二種是設定Linux的全域性環境變數(需要root許可權),修改/etc/profile,在適當的地方加入以下程式碼
JAVA_HOME=/usr/java/jdk1.5.0
PATH=$JAVA_HOME=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH JAVA_HOME CLASSPATH
修改完成後儲存,登出當前使用者重新登陸後按照第一種同樣的方法進行測試檢視是否成功。
至此,基本的安裝和環境變數設定已經完成了。
至於正確顯示applet的瀏覽器的外掛安裝請檢視Sun的文件:


接下來要說如何修改配置來正確顯示中文字型。


3 最後來解決一下中文字型的顯示問題。Jdk1.5.0的字型配置和1.4.x的時候相比有了很大的差別。
雖然能顯示一下中文,但是有一大半是無法正常顯示的方塊,很不爽。下面我們就來解決這個問題。
先來看一下Sun公司對JRE1.5.0版的中文字型設定的官方說明中的一些資料:
介紹一下其字型配置檔案的載入方案。其載入順序為(JavaHome指JRE的根目錄,下同)
JavaHome/lib/fontconfig.OS.Version.properties
JavaHome/lib/fontconfig.OS.Version.bfc
JavaHome/lib/fontconfig.OS.properties
JavaHome/lib/fontconfig.OS.bfc
JavaHome/lib/fontconfig.Version.properties
JavaHome/lib/fontconfig.Version.bfc
JavaHome/lib/fontconfig.properties
JavaHome/lib/fontconfig.bfc
其中,OS欄位可以是:
Windows: "98", "2000", "Me", "XP", "2003"。
Solaris:空。
Linux: "Sun", "RedHat", "Turbo", "SuSE"。
而Version欄位指該OS的版本號。
在這些配置檔案中,僅.properties檔案是文字檔案。其格式跟JRE1.4.2版的不同。檔案分為幾段,並在每段開始時標明。
我們需要關注的僅有兩段:Component Font Mappings和Search Sequences。前者指定字型,後者指定要使用的properties的搜尋順序。
知道了這些,配置起來就簡單了。
看了是不是有點暈,而且覺得沒用?不要急下面會用到的。
先把字型檔案Simsun.ttf(可以從windows下複製一份到linux下)複製到JRE的字型目錄$JAVA_HOME/jre/lib/fonts下,接著編輯字型目錄下的檔案fonts.dir,把第一行的數字加1,然後在最後加一行加上:
simsun.ttf -SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
然後儲存檔案。
最後把字型配置檔案改名為fontconfig.RedHat.properties這種形式(Fedora Core x也是Redhat的衍生物),把$JAVA_HOME/jre/lib下多餘的fontconfig開頭的檔案全部移到新建的bak目錄下, 做為備份,如果一次不成功還用的著。
注意:如果你的Linux不是Redhat和Fedora Core系列,請按照自己的發行版本對字型配置檔案做相應的修改,參照Sun公司的資料,jds、Suse和Turbo應該沒問題了。
然後再在控制檯下執行ControlPanel
自己的程式也能完美的顯示中文字型了!
4 參考文獻
Sun公司對JRE1.5.0版的中文字型設定的官方說明:

5適用平臺
redflag-linux4.1
fedora core-linux2
fedora core-linux4-x86版 (x86-64的版本沒有配置成功)
redflag-linux5.0因正式版還沒有釋出 所以沒有測試

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-947633/,如需轉載,請註明出處,否則將追究法律責任。

相關文章