Welcome 微信登录

首页 / 网页编程 / PHP / php使用指定编码导出mysql数据到csv文件的方法

本文实例讲述了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 "
";}?>
希望本文所述对大家的php程序设计有所帮助。