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 相关文章推荐
PHP图片上传类带图片显示
Nov 25 PHP
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
Sep 23 PHP
php定界符
Jun 19 PHP
ThinkPHP登录功能的实现方法
Aug 20 PHP
PHP面向对象详解(三)
Dec 07 PHP
php实现图片上传并进行替换操作
Mar 15 PHP
完美解决thinkphp唯一索引重复时出错的问题
Mar 31 PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 PHP
thinkphp框架page类与bootstrap分页(美化)
Jun 25 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
Jul 07 PHP
PHP yield关键字功能与用法分析
Jan 03 PHP
php+Ajax无刷新验证用户名操作实例详解
Mar 04 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+AJAX实现无刷新注册(带用户名实时检测)
2007/01/02 PHP
php多重接口的实现方法
2015/06/20 PHP
IE6 fixed的完美解决方案
2011/03/31 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
jQuery下的动画处理总结
2013/10/10 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
2013/12/11 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
jQuery Password Validation密码验证
2016/12/30 Javascript
webpack打包后直接访问页面图片路径错误的解决方法
2017/06/17 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
EasyUI的DataGrid绑定Json数据源的示例代码
2017/12/16 Javascript
详解小程序设置缓存并且不覆盖原有数据
2019/04/15 Javascript
vue中el-input绑定键盘按键(按键修饰符)
2020/07/22 Javascript
[02:01]BBC DOTA2国际邀请赛每日综述:八强胜者组鏖战,中国队喜忧参半
2014/07/19 DOTA
windows下python安装paramiko模块和pycrypto模块(简单三步)
2017/07/06 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
2017/11/11 Python
python SSH模块登录,远程机执行shell命令实例解析
2018/01/12 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
2019/05/27 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
2019/06/19 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
pytorch 在网络中添加可训练参数,修改预训练权重文件的方法
2019/08/17 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
FC-Moto英国:欧洲最大的摩托车服装和头盔商店之一
2019/08/25 全球购物
学雷锋志愿服务月活动总结
2014/03/09 职场文书
教学评估实施方案
2014/03/16 职场文书
党的群众路线教育实践活动总结大会主持词
2014/10/30 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
儿子满月酒致辞
2015/07/29 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书
咖啡厅里的创业计划书
2019/08/21 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
python开发实时可视化仪表盘的示例
2021/05/07 Python
java泛型通配符详解
2021/07/25 Java/Android
python运行脚本文件的三种方法实例
2022/06/25 Python