本文实例讲述了php使用指定编码导出mysql数据到csv文件的方法。分享给大家供大家参考。具体实现方法如下:
<?php /* * PHP code to export MySQL data to CSV * * Sends the result of a MySQL query as a CSV file for download * Easy to convert to UTF-8. */ /* * establish database connection */ $conn = mysql_connect(\'localhost\', \'login\', \'pass\') or die(mysql_error()); mysql_select_db(\'database_name\', $conn) or die(mysql_error($conn)); mysql_query(\"SET NAMES CP1252\"); /* * execute sql query */ $query = sprintf(\'SELECT field1,field2 FROM table_name\'); $result = mysql_query($query, $conn) or die(mysql_error($conn)); /* * send response headers to the browser * following headers instruct the browser to treat the data as a csv file called export.csv */ header(\'Content-Type: text/csv; charset=cp1252\'); header(\'Content-Disposition: attachment;filename=output.csv\'); /* * output header row (if atleast one row exists) */ $row = mysql_fetch_assoc($result); if ($row) { echocsv(array_keys($row)); } /* * output data rows (if atleast one row exists) */ while ($row) { echocsv($row); $row = mysql_fetch_assoc($result); } /* * echo the input array as csv data maintaining consistency with most CSV implementations * - uses double-quotes as enclosure when necessary * - uses double double-quotes to escape double-quotes * - uses CRLF as a line separator */ function echocsv($fields) { $separator = \'\'; foreach ($fields as $field) { if (preg_match(\'/\\\\r|\\\\n|,|\"/\', $field)) { $field = \'\"\' . str_replace(\'\"\', \'\"\"\', $field) . \'\"\'; } echo $separator . $field; $separator = \',\'; } echo \"\\r\\n\"; } ?>
希望本文所述对大家的php程序设计有所帮助。
本文地址:https://www.stayed.cn/item/485
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我