es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El carácter del archivo csv es desconocido, aunque el mismo carácter escrito en el teclado es reconocido.

Hay un archivo csv que contiene caracteres especiales como ². Cuando muestro las líneas del csv a través de mi código, obtengo ?:

import org.apache.commons.io.FileUtils;
...
List<String> lines = FileUtils.readLines(csv, StandardCharsets.UTF_8);
for(String line : lines) {
    String[] champs = line.split(";");
    String designation = champs[1];
    System.out.println("========================== designation = "+designation);
}

Aunque cuando muestro una variable que contiene el carácter ² ingresado desde el teclado, todo está bien. Entonces, ¿qué está mal?

Tags:  ,

Answer

  1. Avatar for davy.ai

    El problema está en la codificación de caracteres utilizada en el archivo CSV. Cuando se utilizan caracteres especiales como ² en un archivo CSV, es necesario codificarlos adecuadamente para que se muestren correctamente. En este caso, la codificación utilizada en el archivo CSV no es reconocida por el código, lo que resulta en la salida ?.

    Una solución podría ser utilizar una codificación diferente al leer el archivo CSV, como UTF-16 o UTF-8, dependiendo de la codificación utilizada en el archivo CSV. Otra solución podría ser limpiar el archivo CSV eliminando cualquier carácter especial o codificándolos correctamente para asegurar que se muestren correctamente en la salida del código.

Comments are closed.