Есть файл экселя в старом формате, с которого берутся строки посредством POI OldExcelExtracktor. проблема в том что эти строки выводятся не в той кодировке. (Øêàô ðàñïðåäåëèòåëüíûé îáðàçåö пример, английский язык выводится без проблем). В онлайн декодерах было выяснено что это кодировка windows-1251. Надобно перевести ее в читаемый вид. Как это сделать средствами Java?
Были попытки в виде
String s = oldExcelExtractor.getText();
System.out.println(new String(s.getBytes("windows-1251"),"UTF-8"))
Результат: все символы кириллицы стали ???????(вопросительными знаками).
Файл не подразумевается открывать руками. Он качается с почты. Если файл открыть /сохранить/закрыть руками то никаких проблем нет. все свободно отображается без указания кодировок. Файл берется JFileChooser-ом. Т.е. примерно так:
JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter filterExcel = new FileNameExtensionFilter("Excel", "xls");
chooser.setFileFilter(filterExcel);
int ret = chooser.showDialog(null, "Открыть файл");
if (ret == JFileChooser.CANCEL_OPTION) {
return;
}
if (ret == JFileChooser.APPROVE_OPTION) {
File file = chooser.getSelectedFile();
OldExcelExtractor oldExcelExtractor = new OldExcelExtractor(file);