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 06 PHP
基于php-fpm 参数的深入理解
Jun 03 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
Jul 02 PHP
php实现的百度搜索某地天气的小偷代码
Apr 23 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
May 08 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
Jun 13 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
Sep 22 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
Aug 18 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
Apr 20 PHP
laravel-admin 实现给grid的列添加行数序号的方法
Oct 08 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 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&amp;&amp;mysql)二
2006/10/09 PHP
php split汉字
2009/06/05 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
2010/06/03 PHP
php 启动时报错的简单解决方法
2014/01/27 PHP
php中error与exception的区别及应用
2014/07/28 PHP
Yii数据读取与跳转参数传递用法实例分析
2016/07/12 PHP
jQuery find和children方法使用
2011/01/31 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
用js实现输入提示(自动完成)的实例代码
2013/06/14 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
Jquery异步提交表单代码分享
2015/03/26 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
JavaScript仿百度图片浏览效果
2016/11/23 Javascript
微信小程序 Tab页切换更新数据
2017/01/05 Javascript
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
基于脚手架创建Vue项目实现步骤详解
2020/08/03 Javascript
[00:31]DOTA2荣耀之路7:Miracle-空血无敌斩
2018/05/31 DOTA
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
django rest framework之请求与响应(详解)
2017/11/06 Python
PyQt5每天必学之像素图控件QPixmap
2018/04/19 Python
分享vim python缩进等一些配置
2018/07/02 Python
Python图片的横坐标汉字实例
2019/12/04 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
2020/02/04 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
Python如何使用paramiko模块连接linux
2020/03/18 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
Python3爬虫中Ajax的用法
2020/07/10 Python
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
2016/01/27 HTML / CSS
通信专业个人自我鉴定
2013/10/21 职场文书
汽车专业求职信
2014/06/05 职场文书
办公室主任岗位职责
2015/01/31 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
Win11怎么进入安全模式?Windows 11进入安全模式的方法
2021/11/21 数码科技
《游戏王:大师决斗》将推出新卡牌包4月4日上线
2022/03/31 其他游戏