中文版的NetBeans的默认编码是GB2312。如果您倾向于使用GB2312,则没有本文中所述的麻烦问题。但如果像笔者一样,喜欢使用UTF-8的编码,就有问题了。
在NetBeans中创建项目后,我们可以通过菜单“文件” -> “项目属性”查看并修改项目的默认编码。但如果我们随意将一个不属于NetBeans任何项目的文档拖进NetBeans中编辑时,如果该文档的编码不是GB2312,NetBeans就会警告:“无法使用GB2312编码安全打开文件,是否继续?”如果选择继续,则打开的文档可能显示为乱码。这是因为NetBeans使用默认的GB2312编码来解释UTF-8编码,结果为乱码。而如果进一步保存该文档,则文档可能变成乱码而造成内容全部丢失。
要解决此问题,我们所需做的,就是将NetBeans的默认编码改为UTF-8。
问题在于,NetBeans的偏好设置中并没有提供全局修改默认编码的地方。我们可以通过编辑一个名为netbeans.conf文件来达到此目的。
在Mac OS X的“应用程序”文件夹中,进入到“NetBeans”文件夹,对NetBeans 7.x.x.app按右键,选择“显示包内容”,在“Contents/Resources/NetBeans/etc”文件夹中,藏有netbeans.conf文件。(Windows下此文件的路径是“C:\Program Files\NetBeans 7.xx\etc”。)此文件已有类似如下的默认设置:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m
-J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true
-J-Dapple.awt.graphics.UseQuartz=true
-J-Dsun.java2d.noddraw=true
-J-Dsun.zip.disableMemoryMapping=true"
在其前面添加以下设置:
netbeans_default_options=“-J-Dfile.encoding=UTF-8 ...”
这个选项可使NetBeans的默认编码设为UTF-8。这样设置后,我们就可以安全地将编码为UTF-8的文档拖进NetBeans中编辑了。