Экспорт и импорт CSV из codeigniter

#codeigniter #csv

#codeigniter #csv

Вопрос:

Я экспортирую арабский контент с csv_from_result помощью функции codeigniter, но когда я импортирую файл, он не считывает арабский контент.

 $data = chr(0xff) . chr(0xfe) . mb_convert_encoding($data, 'UTF-16LE', "auto");
 

Я использую этот код для экспорта арабского CSV:

экспорт содержимого на арабском языке

И импорт из библиотеки csvimport:

 $csvdata = $this->csvimport->get_array($file);
 

Это не работает.

Ответ №1:

экспорт csv с арабским контентом

 $table = 'test';
$this->load->dbutil();
$this->load->helper('file');
$this->load->helper('download');
$delimiter = "t";
$newline = "rn";
$filename = $table . date('Y-m-d H:i:s') . ".csv";
$result = $this->db2->get($table);
$data = $this->dbutil->csv_from_result($result, $delimiter, $newline);
$data = chr(255) . chr(254) . mb_convert_encoding($data, 'UTF-16LE', 'UTF-8');
force_download($filename, $data);
 

затем импортируйте

 header('Content-Type: text/html; charset=utf-8');
$filename = 'test.csv';
$filename2='test2.csv';
file_put_contents($filename2, str_replace("t", ";", iconv('UTF-16', 'UTF-8', file_get_contents($filename))));

$filehandle = fopen($filename2, 'r');
$data = array();

while (($csvdata = fgetcsv($filehandle, 1000, ";")) !== FALSE) {
    $data[] = $csvdata;
}

echo '<pre>';
print_r($data);
echo '</pre>';
 

Ответ №2:

     ini_set('max_execution_time', 0);
    ini_set('memory_limit','2048M');
    $this->db->select("id,Title,Description,Link,ImageLink as Image Link,GoogleProductCategory as Google Product Category,ProductType as Product Type,Conditionlabel as Condition,Availability,Brand,MPN,Price,Shipping,CustomLabel0,CustomLabel1,PromotionId");
    $query = $this->db->get('temp_csvexport');
    $this->load->helper('csv');

    query_to_csv($query, TRUE, 'file_name.csv');