0

我使用模板将 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文件中的数据是行话,带有随机字符等。

有什么见解吗?谢谢。

4

1 回答 1

0

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

于 2013-10-29T13:28:57.740 回答