Java 抓取jexcelapi中的非英语字符

Java 抓取jexcelapi中的非英语字符,java,excel,apache-commons,jexcelapi,apache-commons-lang,Java,Excel,Apache Commons,Jexcelapi,Apache Commons Lang,我有一张excel表格,里面有一些非英语字符,当我试图通过 sheet.getColumn(column)[row].getContents() 它返回带有替换字符\uFFFD的字符串,而不是我将使用StringEscapeUtils.escapeJava转换为unicode的非英语字符 //"L\u00F6schen" - correct return StringEscapeUtils.escapeJava("Löschen"); //"L\uFFFDschen" - incorrec

我有一张excel表格,里面有一些非英语字符,当我试图通过

sheet.getColumn(column)[row].getContents()
它返回带有替换字符\uFFFD的字符串,而不是我将使用StringEscapeUtils.escapeJava转换为unicode的非英语字符

//"L\u00F6schen" - correct
return StringEscapeUtils.escapeJava("Löschen"); 

//"L\uFFFDschen" - incorrect
return StringEscapeUtils.escapeJava(sheet.getColumn(column)[row].getContents());

//"L�schen" - incorrect
System.out.print(sheet.getColumn(column)[row].getContents());

这真的很令人沮丧,而且jexcelapi似乎缺少很多支持


改为使用,效果很好,没有问题。

初始化工作簿时,尝试通过工作簿设置编码。 例如:

WorkbookSettings settings = new WorkbookSettings();
settings.setEncoding("Your java charset name");
Workbook workbook = Workbook.getWorkbook(source, settings);
然后getContents()方法应该更正单元格的内容