I am loading an excel file in an GAE/Java application with JExcel like this:
The html form to upload the file islike this:
<form id="" action="/save" method="post" enctype="multipart/form-data" accept-charset="ISO-8859-1">
<input name="file" type="file" value="load"/>
<input type="submit"value="load excel"/>
</form>
and in the server I have:
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iterator = upload.getItemIterator(request);
while (iterator.hasNext()) {
FileItemStream item = iterator.next();
InputStream stream = item.openStream();
if (!item.isFormField()) {
//if it's not a form field it's a file
Workbook workbook = Workbook.getWorkbook(stream);
...
String name = sheet.getCell(COL_NUMBER, row).getContents();
}
}
The problem is that if I write in the cell something like 'city ó' when it reads in the server the variable name is ' city ?'. The encoding is not OK.
I've tried to change accept-charset="ISO-8859-1" (setting it to utf-8 or removing it) but with no success.
Can anyone tell me how could I solve this problem.
Thanks
OK, I got it by doing this:
WorkbookSettings ws = new WorkbookSettings();
ws.setEncoding("Cp1252");
Workbook workbook = Workbook.getWorkbook(stream, ws);