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 CSV à télécharger, qui est ensuite analysé dans une base de données.
Le problème est, chaque fois que le client enregistre la feuille de calcul Excel en tant que 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 très bien.
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 en Unicode et ASCII en vain. Nous avons également essayé de télécharger sur Google Documents et de réenregistrer, cependant, cela casse également ces caractères.
Réponses:
Assurez-vous que vous choisissez d'enregistrer en tant que
CSV (Comma Delimited)
et non pasCSV (MS-DOS)
, car DOS ne prend pas en charge les caractères UTF-8.la source
J'ai constaté que le problème de caractère perdu ne se produit (dans mon cas) que lors de l'enregistrement du format xlsx au format csv. J'ai essayé d'enregistrer le fichier xlsx en xls d'abord, puis en csv. Cela a réellement fonctionné.
la source
Une solution de contournement possible consiste à l'enregistrer sous
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 conservé 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 via des outils externes pour convertir en csv si nécessaire.
Cependant, mon entrée n'avait pas d'onglets intégrés dans chaque cellule, et je ne sais pas comment cela serait géré.
la source
Voici ce qui fonctionne pour moi:
la source
J'ai ce problème depuis un certain temps maintenant, et j'ai enfin consacré du temps à le résoudre! J'ai pu (apparemment) résoudre le problème en enregistrant sous "Séparé par des virgules Windows (.csv)". Je l'ai essayé à partir d'un .xlsx et d'un .xls, tous deux convertis très bien en .csv. J'espère que cela vous aidera - faites-moi savoir si des problèmes surviennent avec cette méthode. Je ferai rapport si je vois quelque chose au cours des prochaines semaines.
la source
Solution:
Ouvrez votre fichier CSV dans le bloc-notes (vous remarquerez qu'il dit ANSI), puis réenregistrez-le sous UTF-8 dans le bloc-notes.
Ensuite, l'importation devrait fonctionner. Si toutefois 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.
L'autre option est de travailler avec votre fichier CSV dans www.LibreOffice.org (gratuit), qui peut encoder correctement en UTF-8 (je n'ai pas essayé cela moi-même cependant).
J'ai rencontré un problème similaire avec l'importation d'une csv de produits avec des fractions dans WooCommerce, qui était rejeté en raison de "?" caractères d'erreur. En effet, le fichier CSV n'a pas été codé en UTF-8. CEPENDANT, même après avoir enregistré le fichier CSV dans Excel avec l'encodage UTF-8, cela ne fonctionnait toujours pas.
Après avoir parcouru plusieurs forums, il semble que même si Excel donne la possibilité de coder en UTF-8 - lors de l'enregistrement en tant que CSV, Excel le reconvertit automatiquement en ANSI, même si vous sélectionnez UTF-8.
la source
la source
Même si j'ai rencontré le problème des caractères spéciaux lors du téléchargement des termes japonais au format .csv, cependant, lorsque j'ai enregistré le fichier .csv au format texte (délimité par des tabulations), les caractères japonais étaient parfaitement remplis. Ensuite, je viens de copier les données du fichier texte et de les coller dans une feuille de calcul. A bien fonctionné !!!
Merci, Vaishakh
la source
Trouvé la meilleure solution jamais: http://woshka.com/blog/microsoft/microsoft-excel/solve-the-problem-saving-excel-csv-format-with-utf-8-unicode-encoding.html
Du lien:
la source
pour le ™ j'ai trouvé une solution. Dans le fichier .xlsx, remplacez tous les "™" par "& tr-ade;". retirer le - du remplacer par. Enregistrez le fichier au format .csv et tout est terminé. souhaite que cela fonctionne pour vous.
la source
Sur un ordinateur Mac, c'est ce qui a fonctionné pour moi.
Sur Excel, choisissez Enregistrer sous , puis dans le menu déroulant, choisissez Windows séparé par des virgules (CSV).
Ça marche juste !!!
la source
la source