2012-08-24 21:25:06 +0000 2012-08-24 21:25:06 +0000
21
21

Excel détruisant les caractères spéciaux lorsqu'il est enregistré au format CSV

Je travaille sur un projet qui utilise un fichier CSV fourni par le client pour alimenter une base de données. Le client doit créer la feuille de calcul, puis l'enregistrer au format CSV pour la télécharger, qui est ensuite analysée dans une base de données.

Le problème est que, lorsque le client enregistre la feuille de calcul Excel dans un fichier MS-DOS .csv, de nombreux caractères spéciaux sont convertis en points d'interrogation “ ?” (symboles tels que ‘ “ / ). Cependant, si nous ouvrons ensuite le fichier CSV et remplaçons manuellement chaque ? par le bon caractère, cela fonctionne parfaitement.

Le problème est que le fichier de données est ÉNORME, et nous ne pouvons pas raisonnablement faire cela, alors j'espérais qu'il y avait un moyen de le sauvegarder. Nous avons essayé d'exporter en Unicode et ASCII sans succès. Nous avons également essayé de télécharger vers google docs, et de réenregistrer, mais cela casse aussi ces caractères.

Réponses (13)

12
12
12
2013-08-29 19:11:05 +0000

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

6
6
6
2012-10-30 00:40:31 +0000

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

4
4
4
2013-09-04 20:46:55 +0000

Une solution possible consiste à l'enregistrer sous la forme Unicode Text (2007 l'a, pas sûr des éditions précédentes), ce qui l'enregistre sous forme de 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 faire passer par des outils externes pour le convertir en csv si nécessaire.

Cependant, ma saisie ne comportait pas de tabulations intégrées dans chaque cellule et je ne sais pas comment cela serait traité.

3
3
3
2013-12-19 21:37:59 +0000

Voici ce qui fonctionne pour moi :

  1. faire des corrections de données dans Excel ou CSV
  2. Enregistrer le fichier sous forme de texte Unicode
  3. Ouvrez le NOTEPAD
  4. Ouvrez le fichier Unicode que vous venez d'enregistrer en utilisant NOTEPAD
  5. Utilisez votre curseur pour mettre en évidence une zone vide qui contient un seul onglet 5a. Utilisez l'espace entre l'ID d'acquisition et le type de demande car il contient UN Onglet !
  6. Appuyez sur Cnrl-C pour copier le caractère de tabulation
  7. Tapez Cnlr-H pour ouvrir la boîte de fonction Remplacer
  8. Cliquez dans la zone de texte Find What et tapez Cnlr-V pour coller la tabulation
  9. Cliquez dans la zone de texte Remplacer par 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. Enregistrez le fichier et quittez
  14. Dans l'explorateur Windows, changez l'extension de fichier en .csv
3
3
3
2016-01-14 15:29:13 +0000

Cela fait un moment que j'ai ce numéro, et j'ai enfin consacré du temps à le comprendre ! J'ai pu (apparemment) corriger le problème en enregistrant sous le nom de “Windows Comma Separated (.csv)”. Je l'ai essayé à partir d'un .xlsx et d'un .xls, tous deux convertis en .csv. J'espère que cela vous aidera - faites-moi savoir si des problèmes surgissent avec cette méthode. Je vous tiendrai au courant si j'ai des problèmes dans les prochaines semaines.

1
1
1
2016-05-06 09:03:48 +0000
  1. Téléchargez et installez le CSV Addin Unicode pour excel à partir de https://github.com/jaimonmathew/Unicode-CSV-Addin
  2. Enregistrez le csv à partir du nouveau menu “Unicode CSV” comme indiqué dans l'image ci-dessous.

1
1
1
2016-08-02 10:18:07 +0000

Solution :

  1. Ouvrez votre fichier CSV dans le Bloc-notes (vous remarquerez qu'il est écrit ANSI), puis enregistrez-le à nouveau en UTF-8 dans le Bloc-notes.

  2. L'importation devrait alors fonctionner. Cependant, si vous l'ouvrez à nouveau dans Excel et que vous le sauvegardez, cela ne fonctionnera pas car Excel ne peut apparemment pas encoder en UTF-8 en mode natif.

  3. L'autre option est de travailler avec votre fichier CSV sur www.LibreOffice.org (gratuit), qui peut s'encoder correctement en UTF-8 (je n'ai cependant pas essayé moi-même).

J'ai rencontré un problème similaire en important un csv de produits avec des fractions dans WooCommerce, qui était rejeté à cause des caractères d'erreur “ ? Cela est dû au fait que le fichier CSV n'était pas encodé en UTF-8. CEPENDANT, même après avoir enregistré le fichier CSV dans Excel avec un encodage UTF-8, il ne fonctionnait toujours pas.

Après avoir parcouru plusieurs forums, il apparaît que bien qu'Excel donne la possibilité d'encoder en UTF-8 - lors de l'ENREGISTREMENT EN CSV, Excel le reconvertit automatiquement en ANSI, même si vous sélectionnez UTF-8.

0
0
0
2018-02-01 13:48:54 +0000

pour le ™ J'ai trouvé une solution. Dans le fichier .xlsx, remplacez tous les “™” par “&tr-ade ;”. supprimez le - du remplacement par. Enregistrez le fichier au format .csv et le tour est joué. Souhaitez que cela fonctionne pour vous.

0
0
0
2018-03-07 16:11:22 +0000

Sur un ordinateur Mac, c'est ce qui a fonctionné pour moi.

Sur excel choisissez savegarder sous puis dans le menu déroulant choisissez windows comma separated (CSV).

Ça marche ! !!

0
0
0
2020-01-10 13:45:18 +0000

Enregistrer en CSV (Comma Delimited) comme Techie007 mentionné ci-dessus permettra de capturer correctement la plupart des caractères internationaux ; cependant, j'avais encore quelques problèmes pour inclure Ł, ć, et ń (il peut y en avoir d'autres).

J'ai été un peu surpris de voir que la fonction ASC d'EXCEL VBA renvoie le code ascii associé à L, c et n respectivement pour ces caractères internationaux. Mon approche quelque peu insatisfaisante a été d'écrire une courte macro pour convertir tous les caractères avant de les enregistrer dans un .csv. [Note : l'ASC pour une grande majorité de caractères internationaux courants tels que é ou á fonctionne parfaitement]

0
0
0
2015-07-21 13:41:23 +0000

Même si j'ai été confronté au problème des caractères spéciaux en téléchargeant les termes japonais au format .csv, lorsque j'ai enregistré le fichier .csv au format texte (délimité par des tabulations), les caractères japonais se sont parfaitement remplis. Ensuite, j'ai simplement copié les données du fichier texte et les ai collées dans un tableur. Ça a bien fonctionné !!!

Merci, Vaishakh

0
0
0
2014-06-25 11:47:47 +0000

J'ai trouvé la meilleure solution qui soit : * http://woshka.com/blog/microsoft/microsoft-excel/solve-the-problem-saving-excel-csv-format-with-utf-8-unicode-encoding.html **

Depuis le lien :

1-Cliquez sur le menu de démarrage

2-Sélectionnez le panneau de contrôle

3-Trouvez les options régionales et linguistiques en mode classique ou tapez son nom sur la barre de recherche en haut à droite de la fenêtre du panneau de contrôle

4-Cliquez sur l'onglet avancé et cliquez sur les locales

5-Cliquez sur le persan ou l'arabe ou sur le programme d'encodage UTF-08 que vous souhaitez enregistrer avec Excel en CSV

0
0
0
2018-05-30 14:20:21 +0000

Enregistrer en unicode Renommer le fichier unicode en .csv https://www.youtube.com/watch?v=1VP8__shxTg )