yii2导出csv文件乱码怎么办

广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买

yii2导出csv文件乱码怎么办

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 \yii\web\HttpException(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教程

以上就是yii2导出csv文件乱码怎么办的详细内容,更多请关注9543建站博客其它相关文章!

广告:SSL证书一年128.66元起,点击购买~~~

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。

作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:thinkphp5数组写进文件缓存在哪
下一篇:如何实现小程序发送服务通知

发表评论

关闭广告
关闭广告