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 "rn";  }  ?>

希望本文所述对大家的php程序设计有所帮助。

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

郑重声明:本网站发布的内容(图片、视频和文字)以及用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服

发表评论

登录后才能评论