web-dev-qa-db-fra.com

Excel détruisant un caractère spécial lors de son enregistrement au format CSV

Je travaille sur un projet qui utilise un fichier CSV fourni par le client pour remplir une base de données. Le client doit créer la feuille de calcul, puis l’enregistrer en tant que fichier CSV à télécharger, qui est ensuite analysé dans une base de données.

Le problème est que, chaque fois que le client enregistre la feuille de calcul Excel en tant que fichier .csv MS-DOS, de nombreux caractères spéciaux sont convertis en points d'interrogation "?" (symboles tels que '"/). Cependant, si nous ouvrons ensuite le fichier CSV et que nous remplaçons manuellement chaque? par le caractère correct, cela fonctionnera correctement.

Le problème est que le fichier de données est énorme, et nous ne pouvons pas raisonnablement le faire, alors j'espérais qu'il y avait un moyen de le sauvegarder. Nous avons essayé d’exporter au format Unicode et ASCII sans succès. Nous avons également essayé de télécharger vers Google Documents et de les réenregistrer, mais ces caractères sont également cassés.

20
rcooper102

Assurez-vous de choisir d’enregistrer CSV (Comma Delimited) et non CSV (MS-DOS), car DOS ne prend pas en charge les caractères UTF-8.

8
Ƭᴇcʜιᴇ007

Une solution de contournement possible consiste à l'enregistrer sous le nom Unicode Text (2007 l'a, pas sûr des éditions précédentes), ce qui l'enregistre en tant que fichier texte séparé par des tabulations.

Ce fichier a préservé mes caractères unicode (dans mon cas , je travaillais avec des caractères asiatiques ) tout en produisant une sorte de fichier texte délimité que vous pouvez ensuite exécuter en mode externe. outils pour convertir en csv si nécessaire.

Mon entrée ne comportait toutefois pas d'onglets dans chaque cellule, et je ne sais pas comment cela serait géré.

4
That Umbrella Guy

J'ai constaté que le problème des personnages perdus ne se produit que (dans mon cas) lors de l'enregistrement du format xlsx au format csv. J'ai essayé de sauvegarder le fichier xlsx d'abord en xls, puis en csv. Cela a réellement fonctionné.

4
Eric

Cela fait un moment que je suis confronté à ce problème et, enfin, j'ai consacré du temps à le résoudre! J'ai pu (apparemment) résoudre le problème en enregistrant le fichier sous "Windows Comma Separated (.csv)". Je l'ai essayé d'un .xlsx et d'un .xls, convertis tous les deux en un .csv très bien. J'espère que cela vous aidera - laissez-moi savoir si des problèmes surviennent avec cette méthode. Je ferai rapport si je vois quelque chose au cours des prochaines semaines.

2
Courtney Lowe

Voici ce qui fonctionne pour moi:

  1. Effectuer des corrections de données dans Excel ou CSV
  2. Enregistrer le fichier au format Unicode
  3. Bloc-notes ouvert
  4. Ouvrez le fichier Unicode que vous venez de sauvegarder avec NOTEPAD.
  5. Utilisez votre curseur pour mettre en surbrillance une zone vide contenant un seul onglet 5a. Utilisez l'espace entre l'ID d'acquisition et le type de demande, car celui-ci contient ONE TAB!
  6. Hit Cnrl-C pour copier le caractère de tabulation
  7. Tapez Cnlr-H pour ouvrir la boîte de dialogue Remplacer la fonction.
  8. Cliquez dans la zone de texte Rechercher et tapez Cnlr-V pour coller l'onglet
  9. Cliquez dans la zone Remplacer par du texte et tapez une virgule.
  10. Cliquez sur Remplacer pour le tester une fois. Confirmez que l'onglet dans le fichier est remplacé par une virgule
  11. Cliquez sur Remplacer tout
  12. Cliquez sur Annuler
  13. Enregistrer le fichier et quitter
  14. Dans l'Explorateur Windows, changez l'extension de fichier en .csv
2
Pat HIll

Solution:

  1. Ouvrez votre fichier CSV dans le Bloc-notes (vous remarquerez qu'il indique ANSI), puis enregistrez-le à nouveau au format UTF-8 dans le Bloc-notes.

  2. Ensuite, l'importation devrait fonctionner. Cependant, si vous l'ouvrez à nouveau dans Excel et que vous l'enregistrez, cela ne fonctionnera pas, car Excel ne peut apparemment pas encoder nativement en UTF-8.

  3. L'autre option consiste à travailler avec votre fichier CSV dans www.LibreOffice.org (gratuit), qui peut encoder correctement dans UTF-8 (je n'ai toutefois pas essayé cela moi-même).

J'ai rencontré un problème similaire lors de l'importation d'un csv de produits contenant des fractions dans WooCommerce, qui était rejeté à cause de "?" caractères d'erreur. Cela est dû au fait que le fichier CSV n'a pas été codé en UTF-8. CEPENDANT, même après avoir enregistré le fichier CSV dans Excel avec le codage UTF-8, cela ne fonctionnait toujours pas.

Après avoir parcouru plusieurs forums, il semble que bien qu'Excel donne l'option d'encoder au format UTF-8. Lorsque vous enregistrez sous un fichier CSV, Excel le reconvertit automatiquement au format ANSI, même si vous sélectionnez UTF-8.

1
Hen_za

pour le ™ j'ai trouvé une solution. Dans le fichier .xlsx, remplacez tous les "™" par "& tr-ade;". enlever le - du remplacer par. Enregistrez le fichier au format .csv et tout est terminé. souhaite que cela fonctionne pour vous.

0
mathieu

Même si je rencontrais le problème avec des caractères spéciaux lors du téléchargement des termes japonais au format .csv.Cependant, j’ai enregistré le fichier .csv au format texte (délimité par des tabulations), les caractères japonais étaient parfaitement renseignés. Ensuite, je viens de copier des données à partir d'un fichier texte et les coller dans un tableur. A bien fonctionné !!!

Merci, Vaishakh

0
Vaishakh

Sur un ordinateur Mac, voici ce qui a fonctionné pour moi.

Sur Excel, sélectionnez enregistrez sous , puis dans le menu déroulant, choisissez Windows séparé par des virgules (CSV).

Ça marche juste !!!

0
Manuel Lema

Enregistrer en tant qu'unicode Renommez le fichier unicode au format .csv ( https://www.youtube.com/watch?v=1VP8__shxTg )

0
Webmax

Vous avez trouvé la meilleure solution de votre vie:http://woshka.com/blog/Microsoft/microsoft-Excel/solve-le-problem-saving-Excel-csv-format-with-utf-8-unicode encoding.html

De lien:

1-Cliquez sur le menu de démarrage

Panneau de configuration 2-Select

3-Recherchez les options régionales et linguistiques en mode classique ou tapez son nom dans la barre de recherche en haut à droite de la fenêtre du panneau de configuration.

4-Cliquez sur l'onglet avancé et cliquez sur les paramètres régionaux

5-Cliquez sur le persan ou l’arabe ou sur le programme de codage UTF-08 que vous souhaitez enregistrer avec Excel au format CSV.

0
James Ricardoson
  1. Téléchargez et installez Unicode CSV Addin for Excel.
  2. Enregistrez le fichier CSV à partir du nouveau menu "Unicode CSV", comme indiqué dans l'image ci-dessous.

enter image description here

0
thanos.a