online - Codificación de caracteres en la hoja de cálculo de Excel(y qué juego de caracteres Java usar para decodificarlo)
utf 8 ñ (2)
Bueno, no recibí una respuesta directamente, pero el descubrimiento de Matt de una especificación señala el camino hacia una respuesta real: http://sc.openoffice.org/excelfileformat.pdf
Mientras tanto, mi problema desapareció simplemente configurando la codificación para que siempre fuera "Cp1252". No estoy seguro de por qué, pero no estoy buscando un caballo de regalo en la boca, por así decirlo, y sigo adelante.
WorkbookSettings workbookSettings = new WorkbookSettings();
workbookSettings.setEncoding( "Cp1252" );
Workbook.getWorkbook( theFile, workbookSettings );
Llamaré a esta respuesta.
Estoy usando la biblioteca JExcel para leer las hojas de cálculo de Excel. Cada celda en la hoja de cálculo puede contener cadenas de localización en algo así como 44 idiomas (inglés, portugués, francés, chino, etc.). Hoy no le digo nada a la API sobre la codificación que se supone que debe usar. Su manejo del chino está bien, pero siempre arruina el portugués y el alemán. De alguna manera, la codificación predeterminada (MacRoman en mi cuadro de desarrollo, UTF-8 en producción) no está interpretando correctamente las cadenas que extrae del libro de Excel. Tiene que haber algún problema con la forma en que JExcel interpreta la codificación de caracteres del archivo.
Habiendo dicho eso...
¿Están todas las cadenas en un libro de trabajo de Excel codificado con el mismo conjunto de caracteres?
¿Hay metadatos de libro de trabajo? ¿Puedo preguntar qué es este juego de caracteres (todavía no lo he encontrado)?
Si ejecuto todas las celdas a través de algo como jchardet (http://jchardet.sourceforge.net/), es probable que adivine la codificación de caracteres para todo el libro (esto se basa en la primera pregunta " sí, todas las picaduras en un libro de trabajo determinado están codificadas con el mismo conjunto de caracteres ")?
Tantas preguntas y tan poco tiempo.
Tengo el problema de que, al leer valores de celda del archivo Excel, aparecieron algunos valores con "?" como esto corresponde a las letras con acento ... ¿Podría ese código resolver este problema? Porque como me estoy ejecutando bajo Windows, no puedo probar tan rápido como si estuviera bajo Linux (que es el SO del servidor donde estoy implementando) ...