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
- 然后拷贝过来替换原有的文件.