如何解決Ubuntu下NetBeans中文亂碼及方框問題

本篇內(nèi)容主要講解“如何解決Ubuntu下NetBeans中文亂碼及方框問題”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何解決Ubuntu下NetBeans中文亂碼及方框問題”吧!

和縣網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

當(dāng)我在ubuntu 11.04中安裝netbeans 7.0的時(shí)候,出現(xiàn)一個(gè)奇怪的現(xiàn)象,啟動(dòng)netbeans中,發(fā)現(xiàn)很多中文字無法顯示,直接顯示一個(gè)方框。很顯然是沒有找到某些字的顯示數(shù)據(jù),但是奇怪的是有些漢字可以顯示,真神奇,難道netbeans所用到的字庫(kù)居然不全嗎?

而 ubuntu可以正常顯示漢字,說明ubuntu本身的字庫(kù)應(yīng)該是沒問題到。那么問題出在什么地方呢?

答案是:JRE

netbean是用java寫的,它的運(yùn)行是必須要依靠JRE的,這個(gè)大家都知道。而JRE使用的字體是依靠JRE本身的配置文件來決定在系統(tǒng)中和什么字體文件對(duì)應(yīng)的。

因此判定是這種對(duì)應(yīng)出了問題。

根據(jù)Java的官方文檔(http://download.oracle.com/javase/1.5.0/docs/guide/intl/fontconfig.html#loading),字體對(duì)應(yīng)配置文件是位于jre/lib下面,有兩種形式,一種是src文件,一種是bfc文件。bfc文件是二進(jìn)制的,系統(tǒng)預(yù)定義的,所以我們需要修改的是src文件,到這個(gè)目錄,一看,如下圖:

如何解決Ubuntu下NetBeans中文亂碼及方框問題

看到這些文件名,基本也明白了個(gè)大概。看看fontconfig.OS.version.properties.src這種格式就應(yīng)該明白,這是不同操作系統(tǒng)平臺(tái)的配置文件,jre會(huì)根據(jù)操作系統(tǒng)的不同而自動(dòng)選擇對(duì)應(yīng)的配置文件,因此,我打開了ubuntu 的對(duì)應(yīng)文件,看第一行:

代碼如下:

allfonts.chinese-cn-iso10646=-arphic-ar pl uming cn-light-r-normal--*-%d-*-*-c-*-iso10646-1

這里指定了jre用到邏輯字體和物理字體的對(duì)應(yīng)關(guān)系,等號(hào)左邊就是jre用的邏輯字體,而等號(hào)右邊就是需要使用的物理字體了。

只是這個(gè)物理字體看起來跟火星文差不多,但是這個(gè)火星文可是正宗的X logical font description (XLFD)描述方式,這里不多說了,想了解的讀者可以自己去google一下即可。

然后再看配置文件# Font File Names部分,其中有一行:

代碼如下:

filename.-arphic-ar_pl_uming_cn-light-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/truetype/arphic/uming.ttc

這是上面描述的物理字體和系統(tǒng)字體文件的對(duì)應(yīng)描述。

左邊不就是上面我們看著像火星文的物理字體名稱嗎?正好不知道哪兒去找這個(gè)字體,這下不就有答案了。連目錄都告訴你了。

立刻跑到/usr/share/fonts/truetype目錄去一看,不要說uming.ttc,連arphic這個(gè)目錄都沒有!

這下就面臨兩個(gè)選擇:

1.修改配置文件,讓他指向系統(tǒng)有的字體文件。

也就是修改:/usr/share/fonts/truetype/arphic/uming.ttc這部分,修改成存在的字體文件名稱即可。

2.安裝一個(gè)uming.tcc字體文件。

由于uming.tcc字體是比較有名的,是一個(gè)高質(zhì)量的中文字庫(kù)。因此我還是決定選擇第二種方案。

到網(wǎng)上一goole,立刻找到了下載地址:http://ftp.br.debian.org/debian/pool/main/t/ttf-arphic-uming/ttf-arphic-uming_0.2.20080216.1-3_all.deb

下載回來之后:sudo dpkg -i ttf-arphic-uming_0.2.20080216.1-3_all.deb

安裝順利完成,這個(gè)時(shí)候再跑到/usr/share/fonts/truetype目錄去一看,這下有arphic這個(gè)目錄了,然后打開目錄一看,uming.ttc就在那里!

馬上打開netbeans,漫長(zhǎng)的等待,終于看到了窗口,一切都有了,字體看著確實(shí)很美,不愧是arphic 產(chǎn)品啊。

自此問題完美的解決了,不管版本如何變化,都可以按照這個(gè)方式去解決問題。

網(wǎng)上一些文章說的cp字體到j(luò)re/lib/fonts/fallback,很多人不懂原理。fallback的目錄是jre字體后備目錄,意思就是按照正常配置找不到字體信息,就會(huì)在這個(gè)目錄下按照配置文件設(shè)定的順序到字體文件中去尋找。用這個(gè)方式有兩個(gè)問題,一個(gè)是效率低下。二是字體不統(tǒng)一,會(huì)出現(xiàn)例如:文件這個(gè)詞,文是楷體,件是黑體的“壯觀”景象!為什么?因?yàn)槲淖衷诳w字庫(kù)找到了,但是這個(gè)字庫(kù)找不到件字,于是就在fallback中到黑體字庫(kù)去找,并且找到。這種現(xiàn)象就神奇的出現(xiàn)了!

所以這個(gè)方式其實(shí)是屬于歪打正著的方法,很多人糊里糊涂顯示正常了,也沒有搞懂原理。而另外一些人就會(huì)出現(xiàn)字體不統(tǒng)一到情況。

當(dāng)然,上面所說的一切,在windows上均不會(huì)發(fā)生。因?yàn)閣indows比較統(tǒng)一,所以配置文件的配置一定可以正常工作,不會(huì)出現(xiàn)類似linux的連字體文件都可能找不到的情況。這也證明了規(guī)范,統(tǒng)一在軟件中的重要性。

到此,相信大家對(duì)“如何解決Ubuntu下NetBeans中文亂碼及方框問題”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

當(dāng)前文章:如何解決Ubuntu下NetBeans中文亂碼及方框問題
標(biāo)題網(wǎng)址:http://muchs.cn/article8/jpeeip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、面包屑導(dǎo)航、做網(wǎng)站、全網(wǎng)營(yíng)銷推廣、電子商務(wù)、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)