#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');