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

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

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

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

对php使用指定的编码导出mysql数据到csv的代码对此感兴趣的朋友,看看idc笔记做的技术笔记!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<code class="php">
<?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)   ***/</code>

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

代码注释

作者:喵哥笔记

IDC笔记

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