Jtti广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php导出csv中文乱码怎么办
  • 862
分享到

php导出csv中文乱码怎么办

phpcsv 2020-06-27 20:06:58 862人浏览 绘本
摘要

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php导出csv中文乱码怎么办?PHP导出CSV中文乱码的解决方法:UTF-8转GB2312一、背景因项目需求,要导出excel表格数据,使用fputcsv方法导出数据遇

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php导出csv中文乱码怎么办?

PHP导出CSV中文乱码的解决方法:UTF-8转GB2312

一、背景

项目需求,要导出excel表格数据,使用fputcsv方法导出数据遇到中文乱码,去网上查找了一遍解决方法。

1)设置header编码修改为UTF-8

2)在输出内容前先输出BOM头

以上两种方法均无效,不知是否我的环境原因还是其他,暂不去深究。

二、解决方法

由于项目默认是UTF-8编码,Excel不支持,所以得把UTF-8转GB2312。

【核心】重写fpucsv方法,添加转码功能:


function fputcsv2($handle, array $fields, $delimiter = ",", $enclosure = '"', $escape_char = "\\") {
    foreach ($fields as $k => $v) {
        $fields[$k] = iconv("UTF-8", "GB2312//IGNORE", $v);  // 这里将UTF-8转为GB2312编码
    }
    fputcsv($handle, $fields, $delimiter, $enclosure, $escape_char);
}

使用例子:

function test () {
    // 文件名
    $filename = "订单查询结果" . date('Y-m-d H:i:s');
 
    // 设置输出头部信息
    header('Content-Encoding: UTF-8');
    header("Content-Type: text/csv; charset=UTF-8");
    header("Content-Disposition: attachment; filename={$filename}.csv");
 
 
    $tableHead = array('#', '订单id', '订单号', '分类', '客户信息', '工匠信息', '订单状态', '施工状态', '付款状态', '订单金额', '下单时间', '备注');
 
    // 获取句柄
    $output = fopen('php://output', 'w') or die("can't open php://output");
 
    // 输出头部标题
    fputcsv2($output, $tableHead);
 
    $list = array();
    foreach ($list as $item) {
        fputcsv2($output, array_values($item));
    }
 
    // 关闭句柄
    fclose($output) or die("can't close php://output");
}

--结束END--

本文标题: php导出csv中文乱码怎么办

本文链接: https://www.lsjlt.com/news/450.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • phpmyadmin导出中文乱码怎么办
    这篇文章主要介绍phpmyadmin导出中文乱码怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用PHPmyadmin把mysql数据库导入导出时,出现中文乱码的问题。以下介绍...
    682
    2023-05-30
    phpmyadmin mi %d
  • php 导入csv乱码问题怎么办
    本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。php 导入csv乱码问题怎么办?解决php导入淘宝助理csv文件乱码问题及解析用php导入csv文件很多时候会出现中文乱码的情况,特别是导入淘宝助理数据包,在网上查...
    837
    2023-05-30
    csv 乱码 php
  • php cmd中文乱码怎么办
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php cmd中文乱码怎么办?cmd命令提示符乱码解决方法:首先,打开命令提示符窗口,执行【chcp 65001】命令执行以上命令后,可以使本次的命令提示符使用【UT...
    208
    2023-05-30
    php
  • php中xls导出乱码怎么办
    本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。php中xls导出乱码怎么办?采用phpmyadmin的处理方式 <php header("Content-type:application/vnd...
    283
    2023-05-30
    乱码 xls php
  • android给php中文乱码怎么办
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。android给php中文乱码怎么办?一、Android本身是无法直接访问mysql数据库的,需要借助于PHP网页才能完成对mysql数据库的操作。而PHP和Andr...
    917
    2023-05-30
    Android php
  • bat执行php中文乱码怎么办
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。bat执行php中文乱码怎么办?bat批处理脚本中文乱码的解决问题描述bat 批处理脚本如下@echo off echo hello,world. echo 你好,...
    463
    2023-05-30
    php 乱码 bat
  • dw php网页中文乱码怎么办
    dw php网页中文乱码的解决办法:1、将标题编码设置为UTF8;2、使用Dreamweaver新建php文件时,通过“<metacharset="utf-8">”申明格式utf-8;3、通过“mysql_q...
    903
    2023-05-30
    php 乱码
  • MySQL中文乱码怎么办
    这篇文章给大家分享的是有关MySQL中文乱码怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言:MySQL是我们项目中非常常用的数据型数据库。但是因为我们需要在数据库保存中...
    399
    2023-05-30
    mysql
  • javascript中文乱码怎么办
    本教程操作环境:windows7系统、javascript1.8.5版、DELL G3电脑。javascript中文乱码怎么办?JS中文乱码问题js在浏览器中显示乱码的根本原因就是编码问题,所以解决了编码问题js基本上可以正常显示。一:利用...
    701
    2023-05-30
    javascript 乱码 js乱码
  • php 文字水印中文乱码怎么办
    本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。php 文字水印中文乱码怎么办?解决Linux下图片水印中文乱码问题业务场景中需要通过APP上传图片并通过添加水印方法在图片基础上加上图层,由于涉及到地理位置有中文字...
    1206
    2023-05-30
    linux 水印中文乱码
  • php json数据中文乱码问题怎么办
    php json数据中文乱码问题的解决办法:1、打开相应的php文件;2、在“json_encode()”方法中添加一个参数“JSON_UNESCAPED_UNICODE”即可正常输出中文。本教程操作环境:Windows10系统、PHP8....
    753
    2023-05-30
    php json
  • phpmyadmin导出汉字乱码怎么办
    这篇文章主要介绍phpmyadmin导出汉字乱码怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用phpMyAdmin把mysql数据库导入导出时,出现汉字(中文)乱码的问题。...
    195
    2023-05-30
    phpmyadmin mi %d
  • mysql jdbc中文乱码怎么办
    这篇文章将为大家详细讲解有关mysql jdbc中文乱码怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 mysql jdbc中文乱码的解...
    335
    2023-05-30
    mysql jdbc
  • php导出mysql csv乱码问题怎么解决
    本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。php导出mysql csv乱码问题怎么解决?导出csv在windows下打开容易出现乱码,需要在文件头部写入BOM标识,已经封装成一个函数了 function ...
    826
    2023-05-30
    乱码 php
  • php ie乱码怎么办
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php ie乱码怎么办?1、在你的网页head标签中设置<meta http-equiv="Content-Type" content=&q...
    309
    2023-05-30
    php 乱码
  • cmd php乱码怎么办
    本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。cmd php乱码怎么办?用命令行执行php脚本输出乱码今天在windows平台的cmd 或 shellpower 中,执行php脚本,输出中文会乱码。修改了注册表,...
    870
    2023-05-30
    php 乱码 cmd
  • php passthru 乱码怎么办
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php passthru 乱码怎么办?php代码解决乱码问题在用php的passthru函数的时候,然后出现了乱码的情况代码:<php echo passthr...
    559
    2023-05-30
    php 乱码
  • php sql乱码怎么办
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php sql乱码怎么办?解决PHP连接SQLSERVER及中文乱码问题1、SQL语句中有中文会导致查询失败;2、查询结果有中文会显示乱码。 解决方法一(较简单,建议...
    875
    2023-05-30
    乱码 php
  • php decode乱码怎么办
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php decode乱码怎么办?因为json_encode()这个函数只能编码utf-8的字符,就是说你给他传入的参数只能是utf-8格式。所以,你在encode之前...
    317
    2023-05-30
    php
  • php mysql乱码怎么办
    php mysq乱码的解决办法:1、通过“Alter DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin”语句修改数据库编码;2、通过“header(&qu...
    772
    2023-05-30
    乱码 php mysql
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作