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用数组返回无限分类的列表数据的代码
Aug 08 PHP
解析PHP将对象转换成数组的方法(兼容多维数组类型)
Jun 21 PHP
php的数组与字符串的转换函数整理汇总
Jul 18 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
Jun 22 PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
Oct 15 PHP
php异步多线程swoole用法实例
Nov 14 PHP
在Nginx上部署ThinkPHP项目教程
Feb 02 PHP
PHP SPL标准库中的常用函数介绍
May 11 PHP
PHP简单实现断点续传下载的方法
Sep 25 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
Jan 21 PHP
Laravel使用模型实现like模糊查询的例子
Oct 24 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 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-MySQL教程归纳总结
2008/06/07 PHP
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
2013/06/27 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
php中file_get_contents与curl性能比较分析
2014/11/08 PHP
php 判断字符串编码是utf-8 或gb2312实例
2016/11/01 PHP
用js实现的抽象CSS圆角效果!!
2007/05/03 Javascript
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
js DOM的学习笔记
2011/12/22 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
2014/01/22 Javascript
jQuery中odd选择器的定义和用法
2014/12/23 Javascript
jquery制作LED 时钟特效
2015/02/01 Javascript
JavaScript编程中window的location与history对象详解
2015/10/26 Javascript
微信小程序 教程之注册页面
2016/10/17 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
2016/12/21 Javascript
AngularJS中的缓存使用
2017/01/11 Javascript
关于vue-resource报错450的解决方案
2017/07/24 Javascript
vue+vant 上传图片需要注意的地方
2021/01/03 Vue.js
如何在VUE中使用vue-awesome-swiper
2021/01/04 Vue.js
python处理圆角图片、圆形图片的例子
2014/04/25 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
django2用iframe标签完成网页内嵌播放b站视频功能
2018/06/20 Python
浅谈python连续赋值可能引发的错误
2018/11/10 Python
python 获取utc时间转化为本地时间的方法
2018/12/31 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
python脚本执行CMD命令并返回结果的例子
2019/08/14 Python
Python中的上下文管理器相关知识详解
2019/09/19 Python
python 密码学示例——理解哈希(Hash)算法
2020/09/21 Python
Html5饼图绘制实现统计图的方法
2020/08/05 HTML / CSS
网络安全方面的面试题
2016/01/07 面试题
实习教师个人的自我评价
2013/11/08 职场文书
2014年电厂个人工作总结
2014/11/27 职场文书
大明湖导游词
2015/02/03 职场文书
奖学金个人总结
2015/03/04 职场文书
Python基础之字符串格式化详解
2021/04/21 Python
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers