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 相关文章推荐
web方式ftp
Oct 09 PHP
php 时间计算问题小结
Jan 04 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
Jan 26 PHP
codeigniter数据库操作函数汇总
Jun 12 PHP
ThinkPHP之M方法实例详解
Jun 20 PHP
php判断文件上传类型及过滤不安全数据的方法
Dec 17 PHP
php单一接口的实现方法
Jun 20 PHP
php猜单词游戏
Sep 29 PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
Sep 01 PHP
php mysql_list_dbs()函数用法示例
Mar 29 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
php适配器模式简单应用示例
Oct 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
PHP4在WinXP下IIS和Apache2服务器上的安装实例
2006/10/09 PHP
php强制运行广告的方法
2014/12/01 PHP
PHP中异常处理的一些方法整理
2015/07/03 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
2020/01/26 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
Mootools 1.2教程 输入过滤第一部分(数字)
2009/09/15 Javascript
改进UCHOME的记录发布,增强可访问性用户体验
2011/01/17 Javascript
JavaScript prototype属性深入介绍
2012/11/27 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
2013/07/09 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
2013/09/04 Javascript
CSS3 3D 技术手把手教你玩转
2016/09/02 Javascript
jquery实现自适应banner焦点图
2017/02/16 Javascript
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
angularjs 缓存的使用详解
2018/03/19 Javascript
jQuery实现html可联动的百分比进度条
2020/03/26 jQuery
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
python抓取网页内容示例分享
2014/02/24 Python
python学习教程之Numpy和Pandas的使用
2017/09/11 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
python print 格式化输出,动态指定长度的实现
2020/04/12 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
2020/07/01 Python
如何解决安装python3.6.1失败
2020/07/01 Python
Python3.9.0 a1安装pygame出错解决全过程(小结)
2021/02/02 Python
CSS3之transition实现下划线的示例代码
2018/05/30 HTML / CSS
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
波兰最大的电商平台:Allegro.pl
2021/02/06 全球购物
Ajax和javascript的区别
2013/07/20 面试题
问卷调查计划书
2014/01/10 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
在校学生证明格式
2015/06/24 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python