netbeans項目中缺省使用 utf-8. 這要求所有的源文件使用 utf8 編碼有些源文件是從別的文件系統中拷貝出來, 可能使用別的編碼方式, 例如 iso-8859-1. 如果其中有 Ascii 擴展字符, 則 編譯的時候會抱怨有 并不認識的 unicode 編碼. (ummapped unicode characters)
解決方法: 使用 GNU iconv 工具進行批處理轉換.
- iconv 在 cygwin 中有發布, 需要 iconv2 包. 也有單獨的 windows 版本.
- 在 一個臨時文件目錄兩種建立和源目錄相同的目錄結構: 拷貝過去以后, find . -name "*.*" | xargs rm, find . -name ".svn" | xargs rm -R
- 在源文件目錄中: $ for a in `find . -name "*.java"`; do iconv -f iso-8859-1 -t utf-8 <"$a" > /tmp/"$a" ; done
源文件如果是 GBK 編碼, 則 -f gbk
- 然后拷貝過來替換原有的文件.