I am using Laravel 5.2 I want to export data to csv file in different encoding types. user will choose the encoding type from dropdown listed below.
<select name="encoding_to" id="csv_options_encoding_to">
<option value="UTF-8"></option>
<option value="UTF-8">UTF-8</option>
<option value="UTF-16LE">UTF-16LE</option>
<option value="UTF-16BE">UTF-16BE</option>
<option value="UTF-32LE">UTF-32LE</option>
<option value="UTF-32BE">UTF-32BE</option>
<option value="UTF-7">UTF-7</option>
<option value="ISO-8859-1">ISO-8859-1</option>
<option value="ISO-8859-15">ISO-8859-15</option>
<option value="IBM850">IBM850</option>
<option value="MacRoman">MacRoman</option>
<option value="Windows-1252">Windows-1252</option>
<option value="ISO-8859-3">ISO-8859-3</option>
<option value="IBM852">IBM852</option>
<option value="ISO-8859-2">ISO-8859-2</option>
<option value="Windows-1250">Windows-1250</option>
<option value="IBM855">IBM855</option>
<option value="ISO-8859-5">ISO-8859-5</option>
<option value="KOI8-R">KOI8-R</option>
<option value="MacCyrillic">MacCyrillic</option>
<option value="Windows-1251">Windows-1251</option>
<option value="IBM866">IBM866</option>
<option value="GB2312">GB2312</option>
<option value="GBK">GBK</option>
<option value="GB18030">GB18030</option>
<option value="Big5">Big5</option>
<option value="Big5-HKSCS">Big5-HKSCS</option>
<option value="EUC-TW">EUC-TW</option>
<option value="EUC-JP">EUC-JP</option>
<option value="ISO-2022-JP">ISO-2022-JP</option>
<option value="Shift_JIS">Shift_JIS</option>
<option value="EUC-KR">EUC-KR</option>
</select>
I am using following function to export the data to csv which is working properly, can anyone tell me how to export csv in different encoding
public function exportCSV(){
$response = new StreamedResponse(function(){
$rows = $this->getExportData();
// Open output stream
$handle = fopen('php://output', 'w');
// Get all users
foreach ($rows as $row) {
fputcsv($handle, $row, $_POST['col_sep']);
}
// Close the output stream
fclose($handle);
}, 200, [
'Content-Type' => 'text/csv',
'Content-Disposition' => 'attachment; filename="paper_trail-version_association_'.date('Y-m-d-H-i-s').'.csv"',
]);
return $response;
}