Java HADOOP mapreduce中外语文本板中的垃圾字符

Java HADOOP mapreduce中外语文本板中的垃圾字符,java,hadoop,utf-8,mapreduce,Java,Hadoop,Utf 8,Mapreduce,我有一个应用程序,我必须读取HBase并以文本格式写入文件。 一切正常,但客户的要求是他们需要UTF-8-BOM编码格式的文件。 我没有明确提到任何编码格式,默认情况下它是UTF-8格式 hbaseConf.set("mapreduce.child.java.opts", "-Xmx6553m -Dfile.encoding=UTF-8-BOM"); 是否仍然需要以UTF-8-BOM格式写入文件 请考虑我在MapReduce中所做的一切。< /P> 我已经尝试了下面的驱动程序代码的变化,但它

我有一个应用程序,我必须读取HBase并以文本格式写入文件。 一切正常,但客户的要求是他们需要UTF-8-BOM编码格式的文件。 我没有明确提到任何编码格式,默认情况下它是UTF-8格式

hbaseConf.set("mapreduce.child.java.opts", "-Xmx6553m -Dfile.encoding=UTF-8-BOM"); 
是否仍然需要以UTF-8-BOM格式写入文件

请考虑我在MapReduce中所做的一切。< /P> 我已经尝试了下面的驱动程序代码的变化,但它也是UTF-8格式

hbaseConf.set("mapreduce.child.java.opts", "-Xmx6553m -Dfile.encoding=UTF-8-BOM"); 

提前感谢../p>配置中不需要额外的编码。 我通过在第一行添加“\uFEFF”解决了这个问题,效果很好。输出文件中也没有额外的字符。现在一切都好了