回答編集履歴

2 補足

popobot

popobot score 5784

2016/10/21 22:13  投稿

単純にループ内の$csvの初期化もれだと思いますよ
なので、同じ値を何度もUTF-8からSJISにエンコードしちゃって文字化けしているようです。
```php
foreach($users as $user){
       $csv = '' // 初期化
       $csv.= $user['name'];
       $csv .= ',';
       $csv.= $user['age'];
       $csv .= ',';
       $csv.= $user['job'];
       $csv.="\n";
       $csv = mb_convert_encoding($csv, 'SJIS', 'UTF-8');
       fputs($file, $csv);
}
```
```
※余談ですが、Windows向けならSJISよりSJIS-WINの方がいいかもしれませんよ。
1 誤字

popobot

popobot score 5784

2016/10/21 22:08  投稿

単純にループ内の$csvの初期化もれだと思いますよ
単純にループ内の$csvの初期化もれだと思いますよ
なので、同じ値を何度もUTF-8からSJISにエンコードしちゃって文字化けしているようです。
```php
foreach($users as $user){
       $csv = '' // 初期化
       $csv.= $user['name'];
       $csv .= ',';
       $csv.= $user['age'];
       $csv .= ',';
       $csv.= $user['job'];
       $csv.="\n";
       $csv = mb_convert_encoding($csv, 'SJIS', 'UTF-8');
       fputs($file, $csv);
}
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る