csvファイルに記載されているデータを画面に表示し、
それをcsvとして出力するという課題に取り組んでいます。

文字化けを回避するよう記述しているつもりが、なかなかうまくいかず
文字化けしてしまいます。

どなたか教えてください。

【元のcsvファイル】※仮のデータ
"tanaka",5000
"yoshida",1000
"suzuki",400

【ブラウザに表示したいデータ】
社員数:
売上合計:
平均売上:

上記をブラウザに表示しcsvファイルとしてダウンロードしたいという感じです。
サンプルコードは下記に記載致します。

<?php
$datafile = 'sales.csv'; // CSV ファイル

$fh = fopen($datafile, 'r');
if ($fh) {
  flock($fh, LOCK_SH);

  $lst = array();
  while ($line = fgets($fh)) { // ファイルから一行ずつ読み込む
    $all = explode(',', chop($line)); // カンマで分割して配列に

    while (($key = array_shift($all)) && ($val = array_shift($all))) { // 配列の先頭から名前と値を取り出す
      $lst{$key} = $val; // 連想配列にセット
      $lst{$key} = mb_convert_encoding($lst{$key}, "SJIS", 'utf-8');
    }
  }

$sum = 0;
$count = 0;

foreach ($lst as $name => $sale) {
  $count += 1;
  $sum += $sale;
  $avr = $sum / $count;
}

$fileName = "report.csv";
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $fileName);
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($fileName));
readfile($fileName);


echo "社員数:".$count."<br>";
echo "売上合計:".$sum."<br>";
echo "売上平均:".$avr."<br>";

flock($fh, LOCK_UN);
fclose($fh);

}
?>

csv文字化け