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


Posted in PHP onMarch 31, 2015

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

PHP 相关文章推荐
杏林同学录(六)
Oct 09 PHP
为PHP初学者的8点有效建议
Nov 20 PHP
PHP中的str_repeat函数在JavaScript中的实现
Sep 16 PHP
PHP中的插件机制原理和实例
Jul 08 PHP
thinkphp中memcache的用法实例
Nov 29 PHP
php实现用手机关闭计算机(电脑)的方法
Apr 22 PHP
PHP对象链式操作实现原理分析
Oct 09 PHP
PHP生成图片验证码功能示例
Jan 12 PHP
Yii2下点击验证码的切换实例代码
Mar 14 PHP
什么是PHP文件?如何打开PHP文件?
Jun 27 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
Nov 30 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
May 01 PHP
php输出全球各个时区列表的方法
Mar 31 #PHP
php限制ip地址范围的方法
Mar 31 #PHP
php使用数组填充下拉列表框的方法
Mar 31 #PHP
php实现的简单日志写入函数
Mar 31 #PHP
PHP获取photoshop写入图片文字信息的方法
Mar 31 #PHP
php简单实现多字节字符串翻转的方法
Mar 31 #PHP
PHP使用内置dir类实现目录遍历删除
Mar 31 #PHP
You might like
php.ini中date.timezone设置分析
2011/07/29 PHP
php递归获取目录内文件(包含子目录)封装类分享
2013/12/25 PHP
php给每个段落添加空格的方法
2015/03/20 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
2019/08/05 PHP
jquery中常用的SET和GET
2009/01/13 Javascript
使用隐藏的new来创建对象
2011/03/29 Javascript
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
jquery 简单应用示例总结
2013/08/09 Javascript
jQuery实现的输入框选择时间插件用法实例
2015/02/28 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
2016/03/01 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
详解nodejs中exports和module.exports的区别
2017/02/17 NodeJs
详解在Angular项目中添加插件ng-bootstrap
2017/07/04 Javascript
在vue中配置不同的代理同时访问不同的后台操作
2020/09/11 Javascript
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
Python性能优化的20条建议
2014/10/25 Python
python3.4用函数操作mysql5.7数据库
2017/06/23 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
如何在Django项目中引入静态文件
2019/07/26 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
2020/05/03 Python
英国剑桥包中文官网:The Cambridge Satchel Company中国
2018/11/06 全球购物
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
大一军训感言
2014/01/09 职场文书
函授毕业个人自我评价
2014/02/20 职场文书
总经理的岗位职责
2014/02/23 职场文书
出纳员岗位职责风险
2014/03/06 职场文书
博士毕业生自我鉴定范文
2014/04/13 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
新农村建设汇报材料
2014/08/15 职场文书
乡镇党委书记个人整改措施
2014/09/15 职场文书
医院领导班子整改方案
2014/10/01 职场文书
学校机关党总支领导班子整改工作方案
2014/10/26 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
2015年路政工作总结
2015/05/22 职场文书
外出培训学习心得体会
2016/01/18 职场文书