Laravel-excel: ¡AYUDA! Caracteres especiales como ñ convertirán una palabra en el número 0 al importar

Creado en 1 mar. 2020  ·  5Comentarios  ·  Fuente: Maatwebsite/Laravel-Excel

Prerrequisitos

Versiones

  • Versión de PHP: 7.2
  • Versión de Laravel: 5.8
  • Versión del paquete: ^ 3.1

Descripción


Tengo un archivo CSV con algunas filas que tiene texto / palabras que contienen un carácter especial como ñ , lo que pasó es que cuando intenté importar el archivo, las palabras con caracteres arriba o similares se convertirán a 0 . No estoy seguro de si está relacionado con la codificación, encontré algunas soluciones en StackOverflow, pero ninguna parece funcionar.

Información Adicional

Estoy usando el ToModel
use Maatwebsite\Excel\Concerns\ToModel;

Para reproducir esto, simplemente intente poner un carácter especial en una de las celdas de su CSV, luego impórtelo como:
Excel::import(new CsvImport, request()->file('file'));

Los datos insertados resultantes que tienen un carácter especial se almacenarán como 0

question

Comentario más útil

¿Alguno de ustedes experimentó esto?

Todos 5 comentarios

¿Alguno de ustedes experimentó esto?

Sí, yo también @fmsthird

lo mismo aquí @fmsthird

Intente configurar la codificación de entrada a la codificación en la que se encuentra su archivo: https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/config/excel.php#L76

El problema es que los archivos csv se generan a partir de un sistema de tercera parte sobre el que no tengo control y vienen con charset = unknown-8bit, por lo que la codificación no está definida en el archivo fuente y para recorrer cada carácter, los archivos csv contienen cientos de miles de filas. que puede expirar antes de la finalización

¿Fue útil esta página
0 / 5 - 0 calificaciones