跳到主要內容

在 NetBeans 20 裡讓中文顯示正常:簡單搞定編碼和字體問題

用 NetBeans 20 開發時若碰到中文變成方塊或亂碼的麻煩,這是編碼沒設好或字體不支持的關係。

先來設定 IDE 的全局編碼吧

要讓 NetBeans 從頭到尾都用 UTF-8 處理文件,這樣中文就不會亂掉。你得改一下配置文件,這樣所有項目都適用。

  1. 找到 NetBeans 安裝目錄下的 etc 資料夾(我的是在 C:\Program Files\NetBeans-20\etc
  2. 用Notepad++ 編輯器開啟 netbeans.conf 檔案(需要管理者權限)。
  3. netbeans_default_options= 這行後面,加個 -J-Dfile.encoding=UTF-8(記得用空格隔開前面)。
  4. 存檔後,重啟 NetBeans 就 OK 了。

字體調整:讓中文別再變方塊

NetBeans 的預設字體有時對中文不親切,只能換成支持中文的字體,比如 Java 裡的 DialogDialogInput,方法如下

基本換字體步驟

  1. 點開 Tools > Options
  2. Fonts & Colors 那一頁。
  3. Default 設定檔下,拉 Font 下拉選單,挑個支持中文的,像 DialogDialogInput 或你裝好的 Noto Sans Mono CJK SC
  4. OK 存檔,要是沒馬上變,重啟 IDE 試試。

如果你裝了支持中文的字體,但下拉選單沒看到,確認系統字體庫有安裝好,再重開 NetBeans 看看。 要是還是不行,就得手動改設定檔強制載入。

手動搞定自訂字體(比如 Hack Font)

有些Coding字體像 Hack,不會自動出現在選單裡,或對中文支持不夠。這時你可以改 Java 的字體設定檔,讓英文用 Hack,中文用 MingLiU 這種 fallback 方式,混搭起來完美。

  1. 找到你 JDK 的安裝目錄下的 lib 資料夾。以 Microsoft JDK 11 為例,路徑大概是 C:\Program Files\Microsoft\jdk-11.0.23.9-hotspot\lib(如果你用其他版本或 Oracle JDK,類似在 C:\Program Files\Java\jdk-11\lib 之類的,確認你的 JAVA_HOME 指向哪)。

  2. fontconfig.properties.src 複製一份,改名成 fontconfig.properties(如果已經有,就直接改那個)。

  3. 開檔加或改這些設定(假設 Hack 字體檔如 HACK-REGULAR.TTF 已經裝在系統裡):

    filename.Hack=HACK-REGULAR.TTF
    filename.Hack_Bold=HACK-BOLD.TTF
    filename.Hack_Italic=HACK-ITALIC.TTF
    filename.Hack_Bold_Italic=HACK-BOLDITALIC.TTF
    
    #monospaced.plain.alphabetic=Courier New
    monospaced.plain.alphabetic=Hack
    monospaced.plain.chinese-ms950=MingLiU
    monospaced.plain.chinese-ms950-extb=MingLiU-ExtB
    monospaced.plain.hebrew=Courier New
    monospaced.plain.japanese=MS Gothic
    monospaced.plain.korean=GulimChe
    
    #monospaced.bold.alphabetic=Courier New Bold
    monospaced.bold.alphabetic=Hack Bold
    monospaced.bold.chinese-ms950=PMingLiU
    monospaced.bold.chinese-ms950-extb=PMingLiU-ExtB
    monospaced.bold.hebrew=Courier New Bold
    monospaced.bold.japanese=MS Gothic
    monospaced.bold.korean=GulimChe
    
    #monospaced.italic.alphabetic=Courier New Italic
    monospaced.italic.alphabetic=Hack Italic
    monospaced.italic.chinese-ms950=PMingLiU
    monospaced.italic.chinese-ms950-extb=PMingLiU-ExtB
    monospaced.italic.hebrew=Courier New
    monospaced.italic.japanese=MS Gothic
    monospaced.italic.korean=GulimChe
    
    #monospaced.bolditalic.alphabetic=Courier New Bold Italic
    monospaced.bolditalic.alphabetic=Hack Bold Italic
    monospaced.bolditalic.chinese-ms950=PMingLiU
    monospaced.bolditalic.chinese-ms950-extb=PMingLiU-ExtB
    monospaced.bolditalic.hebrew=Courier New Bold
    monospaced.bolditalic.japanese=MS Gothic
    monospaced.bolditalic.korean=GulimChe
    
  4. 存檔後,重啟 NetBeans,字體就該正常了。

這種方式讓你自由混字體,中文不會卡住,英文還保持等寬美觀。 記得修改前備份,以防萬一 IDE 掛掉。

Tips

  • 存檔時記得選 UTF-8,不然又亂了。
  • 控制台輸出如果還怪怪的,在 netbeans.conf-J-Dstdout.encoding=UTF-8 試試。
  • 用有支援中文的字型測試看看。

留言