我使用模板将HBase表中的数据导出到CSV文件中,但是我遇到了明显的编码问题。数据全部使用UTF-8存储,并且使用了多种不同的字符集(俄语,中文,阿拉伯语等)。
这是导出数据的主循环。
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 :(得分:0)
答案其实很简单。我使用的CSV导出器没有配备处理UTF-8。我最终将数据导出到内存,然后直接插入MySQL。