66335


スクレイピング結果をcsvに出力したところ、文字化けがおこります。  
出力時に文字化けを起こさないようにするには、どのようにしたらよろしいでしょうか？  
宜しくお願いします。

[code]

    const {createObjectCsvWriter} = require('csv-writer');
    const client = require('cheerio-httpcli');
    
    const csvFilePath = '00000data.csv'
    const csvWriter = createObjectCsvWriter({
        path: csvFilePath,
        header: [
            {id: 'name', title: 'NAME'}
        ],
        encoding:'utf8',
        append :false,
    });
    
    const players = [];
    
    client.fetch('http://npb.jp/bis/teams/rst_g.html',)
        .then((result) => {
            // テキストを配列に格納
            result.$('.rosterRegister').each(function (idx) {
                const $player = result.$(this).text();
                players.push({name: $player});
            });
            // csvファイルに書き込み
            csvWriter.writeRecords(players)
                .then(() => {
                    console.log('...書き込み完了');
                });
    
        })
        .catch((err) => {
            console.log(err);
        })
        .finally(() => {
            console.log('終了！');
        });
    
[/code]


CC BY-SA 4.0
2020-05-06T00:17:47.130
66334
2020-05-06T05:50:49.150
2020-05-06T05:50:49.150
3060
37033
question
node.js csv web-scraping 文字化け
スクレイピング出力で文字化け


「文字化けがおこる」というのは何をもって判断していますか？  
ファイル作成処理でのエンコーディング指定は`utf8`になっています。

[code]

    const csvWriter = createObjectCsvWriter({
        <<途中省略>>
        encoding:'utf8',
        append :false,
    });
    
[/code]

例えば出来たcsvファイルをテキストエディタ等で見ている場合は、ファイルオープン時のエンコーディングをutf-8に指定すれば良いでしょう。

Excel等でオープンしている場合は、ファイル作成時にファイルの先頭にutf-8のBOMを書いておく必要があるでしょう。  
こんな記事を参考に。  
[BOMやBlobを理解してJavaScriptでCSVを出力する](https://qiita.com/megadreams14/items/b4521308d5be65f0c544)


CC BY-SA 4.0
2020-05-06T00:35:06.917
66335
2020-05-06T00:35:06.917
26370
66334
answer