php使用指定编码导出mysql数据到csv文件的方法

时间:2021-05-26

本文实例讲述了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程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章