Tengo una lista que contiene caracteres alemanes y escribo en un archivo csv con fast-csv y me da diferentes caracteres.
import { writeToPath } from "fast-csv"; const data = [ { "name": "Ästhetik Zahnarzt Hamburg City Z-24 Mö 17 / Dr. P. Michaelis, Dr. C. Khorram", "street_number": "Speersort 8", "zip_location": "20095 Hamburg, City Innenstadt", "phone": "040 34 45 44", "website": "http://www.z-24.de", "area": "Branche: Zahnärzte" } ] writeToPath("tmp.csv", data, { headers: true }) .on("error", (err) => console.error(err)) .on("finish", () => console.log("Done writing."));
la salida es esta: captura de pantalla de los datos de salida
Ästhetik Zahnarzt Hamburg City Z-24 Mö 17 / Dr. P. Michaelis, Dr. C. Khorram | ... | Branche: Zahnärzte
Este es el problema de Excel al adivinar una codificación CSV. Simplemente indique la opción writeBOM
es igual a true
, de esa manera Excel puede adivinar que la codificación es UTF-8.
La forma más confiable es escribir directamente en el archivo XLSX para evitar tales problemas de codificación.