export LANG=ZH_cn.GBK
nohup /home/jdk1.6.0_17/bin/java -Dfile.encoding=GBK -Xms200m -Xmx400m -classpath "/home/icehome/search2010/classes" -Djava.ext.dirs=/home/icehome/search2010/lib com.tmg.search.service.indexer.IndexSpider &
在startIndexer2010.sh中添加环境变量-Dfile.encoding=GBK 问题解决。
其原因在于String.getBytes()时实际调用StringCoding.encode(value, offset,
count)方法,其中使用默认编码Charset.defaultCharset().name()。defaultCharset从环境变量
file.encoding中取值。
故设置环境变量-Dfile.encoding=GBK 改变默认编码