Ubuntu下NetBeans中文亂碼及方框問(wèn)題的解決方法
當(dāng)我在ubuntu 11.04中安裝netbeans 7.0的時(shí)候,出現(xiàn)一個(gè)奇怪的現(xiàn)象,啟動(dòng)netbeans中,發(fā)現(xiàn)很多中文字無(wú)法顯示,直接顯示一個(gè)方框。很顯然是沒(méi)有找到某些字的顯示數(shù)據(jù),但是奇怪的是有些漢字可以顯示,真神奇,難道netbeans所用到的字庫(kù)居然不全嗎?
而 ubuntu可以正常顯示漢字,說(shuō)明ubuntu本身的字庫(kù)應(yīng)該是沒(méi)問(wèn)題到。那么問(wèn)題出在什么地方呢?
答案是:JRE
netbean是用java寫的,它的運(yùn)行是必須要依靠JRE的,這個(gè)大家都知道。而JRE使用的字體是依靠JRE本身的配置文件來(lái)決定在系統(tǒng)中和什么字體文件對(duì)應(yīng)的。
因此判定是這種對(duì)應(yīng)出了問(wèn)題。
根據(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è)目錄,一看,如下圖:

看到這些文件名,基本也明白了個(gè)大概??纯磃ontconfig.OS.version.properties.src這種格式就應(yīng)該明白,這是不同操作系統(tǒng)平臺(tái)的配置文件,jre會(huì)根據(jù)操作系統(tǒng)的不同而自動(dòng)選擇對(duì)應(yīng)的配置文件,因此,我打開(kāi)了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è)物理字體看起來(lái)跟火星文差不多,但是這個(gè)火星文可是正宗的X logical font description (XLFD)描述方式,這里不多說(shuō)了,想了解的讀者可以自己去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目錄去一看,不要說(shuō)uming.ttc,連arphic這個(gè)目錄都沒(méi)有!
這下就面臨兩個(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
下載回來(lái)之后:sudo dpkg -i ttf-arphic-uming_0.2.20080216.1-3_all.deb
安裝順利完成,這個(gè)時(shí)候再跑到/usr/share/fonts/truetype目錄去一看,這下有arphic這個(gè)目錄了,然后打開(kāi)目錄一看,uming.ttc就在那里!
馬上打開(kāi)netbeans,漫長(zhǎng)的等待,終于看到了窗口,一切都有了,字體看著確實(shí)很美,不愧是arphic 產(chǎn)品啊。
自此問(wèn)題完美的解決了,不管版本如何變化,都可以按照這個(gè)方式去解決問(wèn)題。
網(wǎng)上一些文章說(shuō)的cp字體到j(luò)re/lib/fonts/fallback,很多人不懂原理。fallback的目錄是jre字體后備目錄,意思就是按照正常配置找不到字體信息,就會(huì)在這個(gè)目錄下按照配置文件設(shè)定的順序到字體文件中去尋找。用這個(gè)方式有兩個(gè)問(wèn)題,一個(gè)是效率低下。二是字體不統(tǒng)一,會(huì)出現(xiàn)例如:文件這個(gè)詞,文是楷體,件是黑體的“壯觀”景象!為什么?因?yàn)槲淖衷诳w字庫(kù)找到了,但是這個(gè)字庫(kù)找不到件字,于是就在fallback中到黑體字庫(kù)去找,并且找到。這種現(xiàn)象就神奇的出現(xiàn)了!
所以這個(gè)方式其實(shí)是屬于歪打正著的方法,很多人糊里糊涂顯示正常了,也沒(méi)有搞懂原理。而另外一些人就會(huì)出現(xiàn)字體不統(tǒng)一到情況。
當(dāng)然,上面所說(shuō)的一切,在windows上均不會(huì)發(fā)生。因?yàn)閣indows比較統(tǒng)一,所以配置文件的配置一定可以正常工作,不會(huì)出現(xiàn)類似linux的連字體文件都可能找不到的情況。這也證明了規(guī)范,統(tǒng)一在軟件中的重要性。
相關(guān)文章

Ubuntu 26.04 LTS(Resolute Raccoon)發(fā)布:內(nèi)存要求提至6GB
2026-04-23,Ubuntu 26.04 LTS 正式版按計(jì)劃如期發(fā)布,Ubuntu 26.04 LTS 搭載 Linux 內(nèi)核 7.0 和 GNOME 50 桌面環(huán)境,原生集成英偉達(dá) CUDA,內(nèi)存要求提至 6GB2026-04-24
桌面生產(chǎn)力直接拉滿! Ubuntu安裝后別急著用這7個(gè)設(shè)置一定要改
Ubuntu桌面系統(tǒng)安裝成功后,不要急著使用,修改后桌面生產(chǎn)力直接拉滿,今天我就把這7個(gè)我每次必改的設(shè)置完整分享出來(lái),配上詳細(xì)步驟和實(shí)際效果2026-04-15
CPU和硬盤要求保持不變! Ubuntu 26.04 LTS最低內(nèi)存運(yùn)行要求提高到 6GB
Canonical即將發(fā)布“Resolute Raccoon”Ubuntu 26.04 LTS操作系統(tǒng),資料顯示推薦內(nèi)存提高至6GB,這是2018年以來(lái)首次重大變動(dòng)2026-04-08
基于Linux7.0+GNOME50+Mesa26.0! Ubuntu 26.04 LTS Beta 版發(fā)布
Ubuntu 26.04 LTS測(cè)試版如期發(fā)布,此次更新將集成大量前沿開(kāi)源技術(shù),Beta 測(cè)試版搭載了尚處于開(kāi)發(fā)階段的 Linux 7.0 內(nèi)核、默認(rèn)采用最新的 GNOME 50.0 桌面組件、全新的 Mes2026-03-27
Ubuntu桌面系統(tǒng)爆致命漏洞! 30天可拿root權(quán)限
近日,全球知名網(wǎng)絡(luò)安全研究機(jī)構(gòu)Qualys的威脅研究部門正式披露了Ubuntu桌面系統(tǒng)的一個(gè)高危本地提權(quán)漏洞,其官方漏洞編號(hào)為CVE-2026-38882026-03-21
Ubuntu 25.10 系統(tǒng)正式發(fā)布:搭載 Linux 6.17 內(nèi)核
Ubuntu 25.10 系統(tǒng)代號(hào)“Questing Quokka”現(xiàn)已推出,集成最新的 GNOME 49 桌面環(huán)境,默認(rèn)僅啟用 Wayland 會(huì)話,提升了圖形體驗(yàn)2025-10-10
Debian 13升級(jí)后網(wǎng)絡(luò)轉(zhuǎn)發(fā)等功能異常怎么辦? 并非錯(cuò)誤而是管理機(jī)制變更
很多朋友反饋,更新到Debian 13后網(wǎng)絡(luò)轉(zhuǎn)發(fā)等功能異常,這并非 BUG 而是 Debian 13 Trixie 調(diào)整了管理機(jī)制,具體來(lái)說(shuō)是sysctl變更為由systemd-sysctl主導(dǎo)且配置文件變成模塊2025-08-22
SSH中斷/寶塔面板異常/分區(qū)問(wèn)題等! Debian 13升級(jí)注意事項(xiàng)匯總
前一段時(shí)間發(fā)布了debian13,我們也分享了debian12升級(jí)到debian13的圖文教程,很多朋友在升級(jí)的時(shí)候遇到了不少問(wèn)題,今天我們就來(lái)看看Debian 13升級(jí)注意事項(xiàng)2025-08-21
Debian12怎么升級(jí)到Debian13? Debian系統(tǒng)升級(jí)教程
心念念的Debian13終于正式發(fā)布了,該怎么升級(jí)呢?下面我們就來(lái)看看Debian12升級(jí)到 Debian13的教程2025-08-21
Ubuntu 24.04.3 LTS 正式發(fā)布: 附更新內(nèi)容匯總
Ubuntu 24.04 這一長(zhǎng)期支持版本發(fā)布了第三個(gè)點(diǎn)版本升級(jí):Ubuntu 24.04.3 LTS,涵蓋桌面、服務(wù)器與云等版本,主要是將過(guò)去數(shù)月發(fā)布的安全更新、錯(cuò)誤修復(fù)和穩(wěn)定性改進(jìn)整合入2025-08-09


