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
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
Oct 09 PHP
php中的一个中文字符串截取函数
Feb 14 PHP
php下载文件的代码示例
Jun 29 PHP
PHP加Nginx实现动态裁剪图片方案
Mar 10 PHP
详解PHP实现异步调用的4种方法
Mar 14 PHP
php使用number_format函数截取小数的方法分析
May 27 PHP
php使用正则表达式去掉html中的注释方法
Nov 03 PHP
php获取'/'传参的值简单方法
Jul 13 PHP
PHP实现用户登录的案例代码
May 10 PHP
PHP实现提高SESSION响应速度的几种方法详解
Aug 09 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 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实现在限定区域里自动调整字体大小的类实例
2015/04/02 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
2016/03/06 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
top.location.href 没有权限 解决方法
2008/08/05 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
2011/10/01 Javascript
JavaScript打开word文档的实现代码(c#)
2012/04/16 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
js/jquery判断浏览器的方法小结
2014/09/02 Javascript
javascript快速排序算法详解
2014/09/17 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
JavaScript+CSS无限极分类效果完整实现方法
2015/12/22 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
python中base64加密解密方法实例分析
2015/05/16 Python
python3+PyQt5泛型委托详解
2018/04/24 Python
完美解决安装完tensorflow后pip无法使用的问题
2018/06/11 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
2018/10/15 Python
如何基于python操作excel并获取内容
2019/12/24 Python
如何在scrapy中捕获并处理各种异常
2020/09/28 Python
python Protobuf定义消息类型知识点讲解
2021/03/02 Python
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
职称自我鉴定
2013/10/15 职场文书
写给老师的表扬信
2014/01/21 职场文书
三八妇女节标语
2014/10/09 职场文书
唐山大地震观后感
2015/06/05 职场文书
2016年寒假生活小结
2015/10/10 职场文书
2016年父亲节寄语
2015/12/04 职场文书
小学英语听课心得体会
2016/01/14 职场文书
《合作意向书》怎么写?
2019/08/20 职场文书
导游词之江苏溱潼古镇
2019/11/27 职场文书
如何用python插入独创性声明
2021/03/31 Python
聊聊JS ES6中的解构
2021/04/29 Javascript
关于maven依赖 ${xxx.version}报错问题
2022/01/18 Java/Android
动画电影《擅长捉弄人的高木同学》6月10日上映!
2022/03/20 日漫