Codificación de cambios de Excel
El artículo explora formas rápidas y eficientes de exportar datos de Excel a CSV manteniendo intactos todos los caracteres especiales y símbolos extranjeros. Los métodos funcionan para todas las versiones de Excel, desde 365 hasta 2007.
Los valores separados por comas (CSV) son un formato muy utilizado que almacena datos tabulares (números y texto) como texto sin formato. Su popularidad y viabilidad se deben a que los archivos CSV son compatibles con muchas aplicaciones y sistemas diferentes, al menos como formato alternativo de importación/exportación. El formato CSV permite a los usuarios echar un vistazo al archivo y diagnosticar inmediatamente los problemas con los datos, cambiar el delimitador, el calificador de texto, etc. Todo esto es posible porque un documento CSV es texto sin formato y un usuario medio o incluso un principiante puede entenderlo fácilmente sin ninguna curva de aprendizaje.
En esencia, cada formato CSV guarda los datos como valores separados por comas, pero realiza la codificación de forma ligeramente distinta. Por ejemplo, Mac utiliza un único retorno de carro (<CR>) representado por \r para un salto de línea, mientras que Windows utiliza una combinación de retorno de carro y salto de línea (<CRLF>) representada por \r\n.
¿Cómo añado la codificación UTF-8?
La codificación de caracteres debe especificarse para cada página HTML, ya sea utilizando el parámetro charset en la cabecera de respuesta HTTP Content-Type (por ejemplo: Content-Type: text/html; charset=utf-8 ) y/o utilizando la metaetiqueta charset en el archivo.
¿Cómo se guarda UTF-8 delimitado por tabulaciones en Excel?
Para guardar un archivo de texto delimitado por tabulaciones y codificado en UTF-8 en Excel: Seleccione Archivo->Guardar como en el menú. En el desplegable ‘Guardar como tipo’ > seleccione ‘Texto (delimitado por tabuladores) (*. txt)’.
¿Cómo puedo activar UTF-8 en Windows 10?
A partir de Windows 10 build 17134 (April 2018 Update), el Universal C Runtime admite el uso de una página de código UTF-8. Esto significa que las cadenas de caracteres pasadas a las funciones de tiempo de ejecución de C esperarán cadenas en la codificación UTF-8. Para activar el modo UTF-8, utilice “UTF-8” como página de código al utilizar setlocale .
Codificación Excel csv utf-8
UTF-8 es un estándar de codificación de caracteres de longitud variable utilizado para la comunicación electrónica. Definido por el estándar Unicode, su nombre deriva de Unicode (o Universal Coded Character Set) Transformation Format – 8-bit[1].
UTF-8 es capaz de codificar todos los 1.112.064[a] puntos de código de caracteres válidos en Unicode utilizando de una a cuatro unidades de código de un byte (8 bits). Los puntos de código con valores numéricos más bajos, que suelen aparecer con más frecuencia, se codifican utilizando menos bytes. Se diseñó para la compatibilidad con ASCII: los primeros 128 caracteres de Unicode, que se corresponden uno a uno con ASCII, se codifican utilizando un único byte con el mismo valor binario que ASCII, de modo que un texto ASCII válido también es válido codificado en UTF-8.
UTF-8 se diseñó como una alternativa superior a UTF-1, una propuesta de codificación de longitud variable con compatibilidad parcial con ASCII que carecía de algunas características, como la autosincronización y el manejo totalmente compatible con ASCII de caracteres como las barras inclinadas. Ken Thompson y Rob Pike produjeron la primera implementación para el sistema operativo Plan 9 en septiembre de 1992[2][3], lo que llevó a su adopción por parte de X/Open como su especificación para FSS-UTF[4], que sería presentada oficialmente por primera vez en USENIX en enero de 1993[5] y posteriormente adoptada por el Grupo de Trabajo de Ingeniería de Internet (IETF) en el RFC 2277 (BCP 18)[6] para futuros trabajos de estandarización de Internet, sustituyendo a Juegos de Caracteres de Byte Único como Latin-1 en RFCs anteriores.
Codificación Excel csv
Tengo un archivo Excel que contiene algunos caracteres españoles (tildes, etc.) que necesito convertir a un archivo CSV para utilizarlo como archivo de importación. Sin embargo, cuando lo guardo como CSV, los caracteres españoles “especiales” que no son caracteres ASCII se convierten en texto ilegible. También parece hacerlo con las comillas izquierdas y derechas y los guiones largos que parecen proceder del usuario original que creó el archivo Excel en Mac.
Dado que CSV es sólo un archivo de texto estoy seguro de que puede manejar una codificación UTF8, así que supongo que es una limitación de Excel, pero estoy buscando una manera de pasar de Excel a CSV y mantener los caracteres no ASCII intactos.
Si UTF-16 se ha implementado correctamente con soporte para puntos de código no BMP, que puede convertir un archivo UTF-16 a UTF-8 sin perder información. Te dejo a ti que encuentres tu método favorito para hacerlo.
Afortunadamente, he descubierto que el problema de la pérdida de caracteres sólo ocurre (en mi caso) al guardar de formato xlsx a formato csv. Probé a guardar el archivo xlsx primero en xls y luego en csv. Y funcionó.
Excel abrir csv utf-8
Como dice Vasille en el comentario a esta pregunta, si tu archivo no está realmente en formato UTF-8, es posible que técnicamente quieras convertir los caracteres del archivo a la codificación que desees antes de abrirlo en Excel. Para mis propósitos, sin embargo, UTF-8 hace un trabajo lo suficientemente bueno de mostrar caracteres no corrompidos.
Una forma sencilla de cambiar la codificación ANSI de Excel a UTF-8 es abrir el archivo .csv en el bloc de notas y seleccionar Archivo > Guardar como. Ahora, en la parte inferior verás que la codificación está establecida en ANSI, cámbiala a UTF-8 y guarda el archivo como un archivo nuevo.
Asumiendo que tienes un shell unix disponible (Cygwin), yo añado al principio del archivo csv un pequeño ID unicode de 3 caracteres (UTF-8) y entonces se lee bien en Excel y lo que es más importante, se procesa correctamente como entrada usando la automatización VB Excel.