DBから取得した配列をforeachでループし、それぞれのkeyに入っている値を取得し、","を入れてcsvにする。
そのcsvをmb_convert_encodingでshis-winでエンコードするとundefinedが返ってきてしまします。
php
1$a = Model::test($変数); 2foreach($a as $value){ 3 $csv = ''; 4 $csv.= $value['A']; 5 $csv .= ','; 6 $csv.= $value['B']; 7 $csv .= ','; 8 $csv .=$value['C']; 9 $csv .= '\n'; 10 $csv = mb_convert_encoding($csv,"sjis-win"); 11} 12・ 13・ 14・ 15return $this->response($csv); 16
エンコードしない場合、コンソールに「…\u30e9\u30d9\…」とUTF-8で表示されます。
→ 理由はわかりませんが、現在はUTF-8の文字化けになっております。
$csv.=毎にエンコードしようとしましたが、こちらもだめでした。
追記
$csv=''の初期化をコメントアウトし、
php
1 $csv = $value['A']; 2 $csv = mb_convert_encoding($csv,"sjis-win");
とした場合も同様の結果となってしまいます。
PHPバージョン 7.0
fuelphp 1.8.1
解決のヒントをいただければ有難いです。
宜しくお願いします。