1

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;
 }
Shoaib
  • 11
  • 3
  • 1
    Possible duplicate of [How can I output a UTF-8 CSV in PHP that Excel will read properly?](http://stackoverflow.com/questions/4348802/how-can-i-output-a-utf-8-csv-in-php-that-excel-will-read-properly) – Refilon Mar 30 '16 at 07:57
  • See this answer http://stackoverflow.com/questions/4348802/how-can-i-output-a-utf-8-csv-in-php-that-excel-will-read-properly#answer-16766198 – Refilon Mar 30 '16 at 07:57

0 Answers0