3 votes

Nodejs - impossible de créer un fichier utf-8

J'ai créé un fichier en utilisant cette commande

   var fs = require('fs');
    fs.appendFile('log.csv', 'Hello','utf-8',  function (err) {
        if (err) throw err;
    });

Maintenant, quand je vérifie l'encodage du fichier

file -bi log.csv

Le résultat est

text/plain; charset=us-ascii

Comment créer un fichier codé en utf-8 ?

10voto

Philip O'Brien Points 409

Je pense qu'il y a deux choses ici. Premièrement, vous avez spécifié utf8 incorrectement. Il devrait être

fs.appendFile('message.txt', 'data to append', 'utf8', callback);

Ceci est extrait de la documentation aquí

utf8 est en fait la valeur par défaut, donc vous ne devriez même pas avoir besoin de la passer en tant qu'option.

Ce qui est nouveau pour moi, cependant, c'est qu'apparemment vous devez écrire utf au fichier pour qu'il apparaisse encodé en tant que UTF-8

var fs = require('fs');

fs.appendFile('log.csv', '\ufeffThis is an example with accents : é è à ', 'utf8', function(err) {
    if (err) throw err;
});

maintenant nous voyons

$ file -I log.csv
$ log.csv: text/plain; charset=utf-8

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X