Bob*_*har 4 java excel cp1252 character-encoding
我正在使用JExcel库来读取excel电子表格.电子表格中的每个单元格都可以包含44种语言(英语,葡萄牙语,法语,中文等)中的任何一种本地化字符串.今天我不告诉API有关它应该使用的编码的任何信息.它处理中国好,但它总是搞砸葡萄牙和德国.不知何故,默认编码(我的开发盒上的MacRoman,生产中的UTF-8)无法正确解释它从excel工作簿中拉出的字符串.JExcel如何解释文件的字符编码有一些问题.
话虽如此...
excel工作簿中的所有字符串是否都使用相同的字符集进行编码?
是否有工作簿元数据我可以问这个字符集是什么(我还没有找到)?
如果我通过像jchardet(http://jchardet.sourceforge.net/)之类的东西运行所有单元格,是否可能能够为整个工作簿划分字符编码(这几乎是基于第一个问题"是的,给定工作簿中的所有stings都使用相同的字符集编码")?
这么多问题,时间太少了.
Bob*_*har 10
好吧,我没有直接得到答案,但马特发现的一个规范指出了实际答案:http: //sc.openoffice.org/excelfileformat.pdf
与此同时,只需将编码设置为"Cp1252",我的问题就消失了.我不确定为什么,但我不是在寻找一个礼物马,可以这么说,并继续前进.
WorkbookSettings workbookSettings = new WorkbookSettings();
workbookSettings.setEncoding( "Cp1252" );
Workbook.getWorkbook( theFile, workbookSettings );
Run Code Online (Sandbox Code Playgroud)
我会称这个回答.
| 归档时间: |
|
| 查看次数: |
28481 次 |
| 最近记录: |