我正在尝试从数据库中获取rtf格式的文本并从中获取纯文本,但我遇到了一些抛光字母的问题。并非所有人都很少。 在数据库中有存储的行,如下所示:
{\rtf1\ansi\ansicpg1250\deff0\deflang1045{\fonttbl{\f0\fnil\fcharset238 Microsoft Sans Serif;}} \viewkind4\uc1\pard\f0\fs17 Raport s\'b3u\'bfy do kontroli kwot na fakturach.\par Wy\'b3apuje rozbie\'bfno\'9cci w kwotach por\'f3wnuj\'b9c warto\'9cci z tabelek InvoiceDetail i AccountSettlement\par }
从数据库中取出后我将它存储在String中,然后我使用这个方法:
private String rtfDecode(String input) {
try{
RTFEditorKit rtfParser = new RTFEditorKit();
Document document = rtfParser.createDefaultDocument();
rtfParser.read(new ByteArrayInputStream(input.getBytes()), document, 0);
String text = document.getText(0, document.getLength());
return text;
}catch (IOException e){
System.out.println(e.toString());
}catch (Exception e){
System.out.println(e.toString());
}
return null;
}
大部分内容似乎没什么问题,但是我正在丢失抛光字母
Raport s³u¿y do kontroli kwot na fakturach.
Wy³apuje rozbie¿ności w kwotach porównuj¹c wartości z tabelek InvoiceDetail i AccountSettlement
看起来应该是这样的
Raport służy.....
我认为我在编码方面做错了但我无法找到问题所在