実現したいこと
ヘッダーなしで、文字コード:Shift_JISでCSVを保存したい。
前提
ヘッダーをつけてCSVを作成保存しました。
その時はShift_JISでCSVを保存できていました。
ヘッダーがいらなくなりヘッダー無で保存すると
UTF-8で保存されてしまいます。
確認方法はCSVをメモ帳で開きUTF-8と表示されていました。
該当のソースコード
if (isset($completedata)) { // $head = ['顧客ID', 'カード番号', 'カード有効期限']; $f = fopen("storage/app/$completefile_name", 'w'); if ($f) { // カラムの書き込み // mb_convert_variables('Shift_JIS', 'UTF-8', $head); // fputcsv($f, $head); // データの書き込み foreach ($completedata as $val) { mb_convert_variables('Shift_JIS', 'UTF-8', $val); fputcsv($f, $val); } } // ファイルを閉じる fclose($f);
試したこと
ヘッダーを付けた状態はShift_JISだったので
一度作ってからヘッダー削除してみましたが
結果は同じでした。
$arr = file("storage/app/$completefile_name"); array_shift($arr); Storage::disk('local')->put($completefile_name, $arr);
補足情報(FW/ツールのバージョンなど)
PHP 7.2.34
Laravel Framework 6.20.44
回答1件
あなたの回答
tips
プレビュー