2016-04-07 33 views
2

node.jsでutf-8でエンコードされたcsvを生成した後、ダブルクリックしてウィンドウ上で開きます。 Excelが起動しますが、Ä、Ö、Ü、ä、ö、üなどの特殊文字は正しく表示されません。私はこれが間違ったエンコーディングのためだと思う。私はExcelで作成された新しいCSVを保存しました。そして、私はエンコーディングがwindows-1252であることを確認します。UTF-8 csvファイルをExcelで読み込み可能なCSVに変換する

私は多くのグーグルでグーグルで試しましたが、解決策はありませんでした。

私は https://github.com/mathiasbynens/windows-1252https://github.com/kvz/phpjs/tree/master/functions/xml

data = helper.utf8_encode(data); 
data = helper.utf8_decode(data); 
data = windows1252.encode(data); 
data = windows1252.decode(data); 
data = helper.utf8_encode(windows1252.encode(data)); 
data = helper.utf8_encode(windows1252.decode(data)); 
data = helper.utf8_decode(windows1252.encode(data)); 
data = helper.utf8_decode(windows1252.decode(data)); 
data = windows1252.encode(helper.utf8_encode(data)); 
data = windows1252.decode(helper.utf8_encode(data)); 
data = windows1252.encode(helper.utf8_decode(data)); 
data = windows1252.decode(helper.utf8_decode(data)); 

の組み合わせを使用してみてくださいしかし、何も機能しません。助けてください

更新: 私はこれらのコードが希望の文字として表示されていることがわかりましたが、まだ小文字のäöüがありません。誰か考えている?

\u0101 => Ä 
\u010D => Ä 
\u011D => Ä 
\u0120 => Ä 

\u0581 => Ö 
\u058D => Ö 
\u058F => Ö 
\u0590 => Ö 
\u059D => Ö 
\u05A0 => Ö 

\u0701 => Ü 
\u070D => Ü 
\u070F => Ü 
\u0710 => Ü 
\u071D => Ü 
\u0720 => Ü 

\u07C1 => ß 
\u07CD => ß 
\u07D0 => ß 
\u07DD => ß 
\u07E0 => ß 
+0

あなたがそれを認識するために、ExcelのCSVへのUTF-8 BOMを追加する必要がありますUTF-8としてhttp://stackoverflow.com/questions/17879198/adding-utf-8-bom-to-string-blob –

+0

を参照してください。Üは – Denni007

答えて

0

npm install iconvコマンドで警告が表示されるため、私は完全に満足していません。それでも、それはあなたの問題を解決する必要があります。

const Iconv = require('iconv').Iconv; 
const fs = require('fs'); 
const iconv = new Iconv('utf8', 'utf16le'); 

let csvContent = 'ÉëÜè whatever you want'; 
fs.writeFileSync('test.csv', iconv.convert(csvContent)); 
+0

と表示され、私の警告の問題が見つかりました:https://github.com/nodejs/node-gyp/issues/942 私は今、満足しています☺ – herve

関連する問題