2013-10-21 23 views
0

我使用了一个模板将数据从HBase表导出为CSV文件,但是我遇到了明显的编码问题。数据全部使用UTF-8存储,并且使用了多种不同的字符集(俄语,中文,阿拉伯语等)。多字节字符从HBase导出为CSV生成不良数据

以下是导出数据的主循环。

for(HBaseCol column: columns) { 

byte[] val = result.getValue(column.family.getBytes("UTF-8"), column.qualifier.getBytes("UTF-8")); 

if (val != null) { 

    //System.out.println(new String(val,"UTF-8")); 
    values.add(new String(val,"UTF-8")); 
} else { 
    values.add(""); 
} 
} 

带有System.out.println()的数据导致??????而CSV文件中的数据是行话,带有随机字符等。

任何见解?谢谢。

回答

0

答案其实很简单。我使用的CSV导出器没有装备处理UTF-8。我最终将数据导出到内存,然后直接将其插入到MySQL中。

相关问题