Netbean UTF-8 中文亂碼處理 in Win7

在眾多的 PHP IDE 編輯器中,個人推薦 Netbean ,因為我很懶(-皿-),所以很依賴程式碼自動排版(code formatter)功能,試過各編輯器的自動排版功能,發現 Netbean 似乎是唯一能將 PHP 碼正確縮排的,例如 PHP 特有的陣列撰寫方式。

1. 確認 Netbean 使用的 Java 位置

通常在安裝 Netbean (筆者使用 7.3.1 版本) 會讓使用者選擇 Java 的安裝位置。如果忘了當時的設定,可以開啟 Netbean 的設定檔 netbeans.conf 位置在預設安裝目錄 C:\Program Files (x86)\NetBeans 7.3.1\etc 底下 來查看。從檔案找到這行:

netbeans_jdkhome="C:\Program Files (x86)\Java\jre7"

2. 安裝字型檔

我們可以選擇適合程式撰寫的字型,像是微軟提供的 Consolas 或是 Adobe 提供的 Source Code Pro 字型(建議選項)。下載並將這些字型檔透過控制台新增到系統,或是複製到 C:\Program Files (x86)\Java\jre7\lib\fonts 資料夾(建議選項)中。

3. 設定 Java 字體設定檔

使用文字編輯器開啟 C:\Program Files (x86)\Java\jre7\lib\fontconfig.properties.src 字體設定檔,在文件最後面加入下列額外的設定:

# Consolas 字型範例
filename.Consolas=Consolas.ttf
filename.Consolas_Bold=Consolasb.ttf
filename.Consolas_Italic=Consolasi.ttf
filename.Consolas_Bold_Italic=Consolasz.ttf

dialoginput.plain.alphabetic=Consolas
dialoginput.bold.alphabetic=Consolas Bold
dialoginput.italic.alphabetic=Consolas Italic
dialoginput.bolditalic.alphabetic=Consolas Bold Italic

或是 (建議選項)

# Source Code Pro 字型範例
filename.Source_Code_Pro=SourceCodePro-Regular.ttf
filename.Source_Code_Pro_Bold=SourceCodePro-Regular.ttf
filename.Source_Code_Pro_Italic=SourceCodePro-Regular.ttf
filename.Source_Code_Pro_Bold_Italic=SourceCodePro-Regular.ttf

dialoginput.plain.alphabetic=Source Code Pro
dialoginput.bold.alphabetic=Source Code Pro Bold
dialoginput.italic.alphabetic=Source Code Pro Italic
dialoginput.bolditalic.alphabetic=Source Code Pro Bold Italic

或是

# Deja Vu Sans Mono 字型範例
filename.DejaVu_Sans_Mono=DejaVuSansMono.ttf
filename.DejaVu_Sans_Mono_Bold=DejaVuSansMono.ttf
filename.DejaVu_Sans_Mono_Italic=DejaVuSansMono.ttf
filename.DejaVu_Sans_Mono_Bold_Italic=DejaVuSansMono.ttf

dialoginput.plain.alphabetic=DejaVu Sans Mono
dialoginput.bold.alphabetic=DejaVu Sans Mono Bold
dialoginput.italic.alphabetic=DejaVu Sans Mono Italic
dialoginput.bolditalic.alphabetic=DejaVu Sans Mono Bold Italic

接著以「另存新檔」的方式更改檔案名稱為 fontconfig.properties (沒有 .src) 至 C:\Program Files (x86)\Java\jre7\lib 資料夾。

4. 設定 Netbean 編輯器的字體

啟動 Netbean 編輯器後,開啟 Tools > Options 設定視窗,切換到 Fonts & Colors 頁籤,選擇「All Languages」的 「Default」分類,將的字體設定為 dialoginput (注意:不是設定為 Consolas)。再來因為預設註解使用的是斜體(Italic),會導致 Foramt 自動排版錯位,所以必需重設註解的字型樣式,選擇「All Languages」的 「Comment」分類,設定將 Font Style 改為 Plain。如果後來套用了官方的「 Dark Look And Feel Themes 」的佈景主題 plugin (有質感,推薦安裝),記得必需重新設定一次。

5. 讓 Netbean 預設使用 UTF-8 編碼

Netbean 在 7.4 後,可以直接拖拉方式來開啟單一檔案了,以前都必需要先建一個空白專案,但是由於沒有建立專案,所以 Netbean 不知道你的編碼規則,預設是 x-windows-950,所以必需修改設定檔 netbeans.conf,找尋 netbeans_default_options 屬性,在最尾處加上 -J-Dfile.encoding=UTF-8

netbeans_default_options="...(前面省略) -J-Dfile.encoding=UTF-8"

注意

  • 如果 Netbean 遇到啟動後沒反應,通常是 Java 安裝有問題,請試著移除 Java 後重新安裝,再重新進行設定的步驟。
  • Netbean 若直接以 Open File 的方式開啟單一檔案時,會以 x-windows-950 的編碼開啟,而不是 UTF-8 編碼。 (於第5點修正)
  • 發現 7.4 版後,filename.Consolas=Consolas.ttf 字型檔案的檔名大小寫必需都一樣才會有作用,如果你的字型檔檔名是全小寫,那麼你就必需是全小寫

目錄

  1. 1. 1. 確認 Netbean 使用的 Java 位置
  2. 2. 2. 安裝字型檔
  3. 3. 3. 設定 Java 字體設定檔
  4. 4. 4. 設定 Netbean 編輯器的字體
  5. 5. 5. 讓 Netbean 預設使用 UTF-8 編碼
  6. 6. 注意