2017-08-21 10 views
0

事前に私はnode.jsに新しく、まだ完全に理解していない可能性があります。Node.jsのCSVストリームをUTF-8に変換する

私は解決できない明らかな問題を抱えています。 FTPサーバーからノードモジュール "ftp" を経由してCSVファイルをインポートしています。ファイルをストリームとして受け取ってからノードモジュール "csvtojson"を持つJSONに変換します。

これまでのところ、すごくうまく機能します。しかし、今私はいくつかをつまずいたことに気付いたUmlaut私のソリューションをクラッシュさせ続けるドイツ語からの文字。私はファイルストリームをUTF8に変換する必要があることを知りましたが、どのように考えているのでしょうか。

私はすでにtoString()メソッドと他のいくつかのノードモジュールで試してみましたが、それもうまくいきませんでした。

getCsvFromFtp: function (profile) { 
    init(profile); 
    return new Promise((resolve, reject) => { 
     client.on('ready', function() { 
      client.get(file, function (err, stream) { 
       if (err) { 
        return reject(err); 
       } 
       stream.once('close',() => { 
        client.end(); 
       }); 
       csv({ 
        trim: true, 
        delimiter: delimiter, 
       }).fromStream(stream, (err, result) => { 
        if (err) { 
         return reject(err); 
        } 
        return resolve(csvFormatterService.groupAndFormatOrders(result)); 
       }); 
      }); 
     }); 
     client.connect(ftpCredentials); 
    }); 
} 

EDIT: 私は問題が私のコードが、ファイルのエンコーディングではなかったことが判明

私のコードは次のようになります。ファイルはWestern(ISO 8859-1)でエンコードされています。

答えて

0

npmのutf8 moduleを使用して、文字列をエンコード/デコードできます。あなたが使用することができ

もう一つの解決策は以下のとおりです。

convertString = JSON.parse(JSON.stringify(convertString)); 

これはあなたのお役に立てば幸いです。

+0

私はあなたが示唆した2番目のもので1回試しました。しかし、私はこのエラーを受け取ります: TypeError:循環構造をJSONに変換する これでモジュールを試しました。私はあなたを更新し続けます。これまでにありがとうございました:) – Roger

+0

この問題は、このリンクhttps://stackoverflow.com/questions/4816099/chrome-sendrequest-error-typeerror-converting-circular-structure-to-jsonで見ることができます。あなたのオブジェクトは円形であるか、utf8モジュールに固執するだけです。 – MirzaS

+0

だから私は今モジュールでそれを試しました。 kchen そして、何私が取得したいことです:私が得ることがなければ k�chen :私はUTF8で正しい道の上だ場合 küchen 私はもうわからないんだけど、私は、結果として得られます。 S. – Roger

関連する問題