php 使用指定编码导出mysql数据到csv的解决办法

内容摘要
这篇文章主要为大家详细介绍了php 使用指定编码导出mysql数据到csv的简单示例,具有一定的参考价值,可以用来参考一下。

对php使用指定的编码导出mysql数据到csv的代码对此感
文章正文

这篇文章主要为大家详细介绍了php 使用指定编码导出mysql数据到csv的简单示例,具有一定的参考价值,可以用来参考一下。

对php使用指定的编码导出mysql数据到csv的代码对此感兴趣的朋友,看看idc笔记做的技术笔记!

<?php     
/**
 * 使用指定的编码导出mysql数据到csv的代码
 *
 * @param 
 * @author 五一二笔记网: 512Pic.com                            * 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教程(www.idcnote.com)   ***/

注:关于php 使用指定编码导出mysql数据到csv的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!