Notre logiciel métier permet à l'utilisateur de sauvegarder certaines données au format CSV . Comme il existe de nombreux formats différents (tous appelés "CSV") utilisés dans la nature, nous essayons de décider à quoi devrait ressembler le "format par défaut".
En ce qui concerne les séparateurs de ligne / champ et l’échappement, il existe une norme que nous pouvons utiliser: RFC 4180 .
En ce qui concerne le codage de texte, UTF-8 semble être devenu le "format de fichier texte par défaut" au cours de la dernière décennie, nous allons donc l'utiliser.
La seule question laissée ouverte est la suivante: devons-nous ajouter une nomenclature au début ou non? J'ai lu plusieurs avis et avantages / inconvénients sur l'utilisation des nomenclatures en général, mais existe-t-il une recommandation "officielle" ou au moins une sorte de consensus de la communauté sur l'utilisation des nomenclatures dans les fichiers CSV?
la source
Réponses:
Pas pour UTF-8 , mais voyez les différentes mises en garde dans les commentaires.
C'est inutile (UTF-8 n'a pas d'ordre sur les octets) contrairement à UTF-16/32 et n'est pas recommandé dans la norme Unicode . Il est également assez rare de voir UTF-8 avec une nomenclature "à l'état sauvage". Par conséquent, sauf si vous avez une raison valable (par exemple, vous travaillerez avec un logiciel qui attend la nomenclature). Je recommanderais l'approche sans nomenclature. .
Wikipedia mentionne des logiciels principalement Microsoft qui obligent et attendent une nomenclature, mais si vous ne les utilisez pas, ne les utilisez pas.
la source
#!
n'est pas valide. Au mieux, une nomenclature dans UTF-8 est "autorisée, lorsqu'aucune exigence spécifique au format / à l'application ne l'exclut", pas "autorisée", et en tant que telle, elle ne doit pas être utilisée. Les normes sont en fait claires sur le NE DEVRAIT PAS.Il n’existe pas encore de convention largement répandue selon les critères AFAIK, bien que UTF-8 soit maintenant généralement accepté.
La nomenclature est un artefact terrible:
Il est invisible (espace de largeur zéro).
Certains logiciels peuvent tomber en panne sur le nom de la première colonne ne contenant pas uniquement des lettres, mais cette étrange nomenclature devant.
La ligne d'en-tête pourrait peut-être être copiée pour des lignes de valeur altérant la première valeur.
Certains logiciels Windows n’ont besoin que de faire la distinction entre l’un des encodages ANSI utilisés par cette machine Windows locale et UTF-8. Bloc-notes, Excel.
La chose la plus triste est qu’il faille soutenir la nomenclature. Peut-être facultatif.
Utilisez un schéma de nommage pour les fichiers (...-utf8.txt, ...-utf8bom.txt).
Dans de nombreux cas, nous pourrions utiliser HTML comme alternative à l'exportation. Cela permet de définir le codage dans le fichier. Une fonctionnalité supplémentaire est la coloration de fond / premier plan des lignes et des cellules. Ce qui rehausse la qualité de l'exportation.
la source
-utf8-windows.csv
est mieux. Presque tout le monde sait ce qu'est Windows dans le contexte des ordinateurs, mais beaucoup moins d'utilisateurs savent ce qu'est une marque d'ordre des octets.tschüß
être gâchis alors qu'ilstschüß
auraient dû être écrits. Sur StackOverflow, de nombreuses erreurs informatiques concernent des encodages. Les utilisateurs finaux rencontreront également des problèmes.