Laravel-excel: AIDER! Les caractères spéciaux comme ñ convertiront un mot en numéro 0 lors de l'importation

Créé le 1 mars 2020  ·  5Commentaires  ·  Source: Maatwebsite/Laravel-Excel

Conditions préalables

Versions

  • Version PHP: 7.2
  • Version de Laravel: 5.8
  • Version du package: ^ 3.1

La description


J'ai un fichier CSV avec des lignes contenant du texte / des mots contenant un caractère spécial comme ñ , ce qui s'est passé, c'est que lorsque j'ai essayé d'importer le fichier, les mots avec des caractères au-dessus ou similaires seront convertis en 0 . Je ne sais pas si cela est lié à l'encodage, j'ai trouvé des solutions dans StackOverflow mais aucune d'entre elles ne semble fonctionner.

Informations Complémentaires

J'utilise le ToModel
use Maatwebsite\Excel\Concerns\ToModel;

Pour reproduire cela, essayez simplement de mettre un caractère spécial dans l'une des cellules de votre CSV, puis importez-le comme:
Excel::import(new CsvImport, request()->file('file'));

Les données insérées résultantes qui ont un caractère spécial seront stockées sous la forme 0

question

Commentaire le plus utile

est-ce que l'un de vous a fait l'expérience de celui-ci?

Tous les 5 commentaires

est-ce que l'un de vous a fait l'expérience de celui-ci?

Oui moi aussi @fmsthird

pareil ici @fmsthird

Essayez de définir le codage d'entrée sur le codage dans lequel se trouve votre fichier: https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/config/excel.php#L76

Le problème est que les fichiers csv sont générés à partir d'un système tiers sur lequel je n'ai aucun contrôle et sont livrés avec charset = unknown-8bit donc le codage n'est pas défini sur le fichier source et pour parcourir chaque caractère, les fichiers csv contiennent des centaines de milliers de lignes qui peut expirer avant la fin

Cette page vous a été utile?
0 / 5 - 0 notes