最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

yii2导出csv文件乱码怎么办

来源:懂视网 责编:小采 时间:2020-11-03 18:20:16
文档

yii2导出csv文件乱码怎么办

yii2导出csv文件乱码怎么办:yii导出CSV代码如下:/** * 导出csv * @author yhdsir * @param array $parameter header 表头 * @param array $parameter data 数据 * @param string $filename 导出名字 */ public function export($par
推荐度:
导读yii2导出csv文件乱码怎么办:yii导出CSV代码如下:/** * 导出csv * @author yhdsir * @param array $parameter header 表头 * @param array $parameter data 数据 * @param string $filename 导出名字 */ public function export($par

yii导出CSV代码如下:

/**
 * 导出csv
 * @author yhdsir
 * @param array $parameter header 表头
 * @param array $parameter data 数据
 * @param string $filename 导出名字
 */
public function export($parameter, $filename = '')
{
 if (empty($filename)) {
 $filename = date('Y-m-d_H-i-s');
 }

 $filename = str_replace(array('"', "'", ' ', ','), '_', $filename) . '.csv';

 if (is_array($parameter)) {
 header('Content-Type: application/vnd.ms-excel');
 header('Cache-Control: max-age=0');
 header("Content-Disposition: attachment;filename={$filename}");
 $fp = fopen('php://output', 'w');
 //fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF)); // 添加 BOM
 if (!empty($parameter['header']) && is_array($parameter['header'])) {
 foreach ($parameter['header'] as $i => $v) {
 // CSV的Excel支持GBK编码,一定要转换,否则乱码 
 // $head[$i] = iconv('utf-8', 'gbk', $v); 
 $parameter['header'][$i] = iconv('utf-8', 'gb2312//TRANSLIT//IGNORE', $v);
 }
 // 将数据通过fputcsv写到文件句柄 
 fputcsv($fp, $parameter['header']);
 }
 if (isset($parameter['data'])) {
 foreach ($parameter['data'] as $row) {
 foreach ($row as $i => $v) {
 $row[$i] = iconv('utf-8', 'gb2312//TRANSLIT//IGNORE', $v);
 }
 fputcsv($fp, $row);
 }
 }
 fclose($fp);

 return true;
 }
 throw new yiiwebHttpException(500, "Not a valid parameter!");
}

iconv — 字符串按要求的字符编码来转换

说明

iconv ( string $in_charset , string $out_charset , string $str ) : string

将字符串 str 从 in_charset 转换编码到 out_charset。

参数

in_charset:输入的字符集。

out_charset:输出的字符集。

str:要转换的字符串。

返回值:返回转换后的字符串, 或者在失败时返回 FALSE。

推荐学习:yii教程

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

yii2导出csv文件乱码怎么办

yii2导出csv文件乱码怎么办:yii导出CSV代码如下:/** * 导出csv * @author yhdsir * @param array $parameter header 表头 * @param array $parameter data 数据 * @param string $filename 导出名字 */ public function export($par
推荐度:
标签: 生成 导出 文档
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top