广告
返回顶部
首页 > 资讯 > 后端开发 > 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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php导出csv中文乱码怎么办
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php导出csv中文乱码怎么办?PHP导出CSV中文乱码的解决方法:UTF-8转GB2312一、背景因项目需求,要导出Excel表格数据,使用fputcsv方法导出数据遇...
    99+
    2020-06-27
    php csv
  • php 导入csv乱码问题怎么办
    本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。php 导入csv乱码问题怎么办?解决php导入淘宝助理csv文件乱码问题及解析用php导入csv文件很多时候会出现中文乱码的情况,特别是导入淘宝助理数据包,在网上查...
    99+
    2022-11-21
    csv 乱码 php
  • phpmyadmin导出中文乱码怎么办
    这篇文章主要介绍phpmyadmin导出中文乱码怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用PHPmyadmin把mysql数据库导入导出时,出现中文乱码的问题。以下介绍...
    99+
    2022-10-18
  • java怎么解决导出csv文件乱码
    将查询的数据以xls文件导出时(UTF-8编码),数据正常;但以CSV文件导出时,文件中的中文乱码,同样是UTF-8编码,改成GBK编码导出时,中文显示正常。(推荐:java视频教程)解决方法:以CSV方式导出的文件中默认不含BOM信息,通...
    99+
    2020-05-06
    java基础 java 乱码
  • php中xls导出乱码怎么办
    本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。php中xls导出乱码怎么办?采用phpmyadmin的处理方式 <php header("Content-type:application/vnd...
    99+
    2022-11-24
    乱码 xls php
  • php导出mysql csv乱码问题怎么解决
    本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。php导出mysql csv乱码问题怎么解决?导出csv在windows下打开容易出现乱码,需要在文件头部写入BOM标识,已经封装成一个函数了 function ...
    99+
    2022-11-19
    乱码 php
  • php导出csv中文乱码的解决方法是什么
    本篇内容介绍了“php导出csv中文乱码的解决方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php导出csv中文乱码的解决办法:1...
    99+
    2023-06-25
  • php导出mysql csv乱码如何解决
    今天小编给大家分享一下php导出mysql csv乱码如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。php导出mys...
    99+
    2023-07-04
  • Mysql 导入导出csv 中文乱码问题的解决方法
    导入csv:复制代码 代码如下:load data infile '/test.csv' into table table_name fields terminated by ','...
    99+
    2022-11-15
    Mysql csv 中文乱码
  • php打印输出中文乱码怎么办
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php打印输出中文乱码怎么办?PHP输出中文乱码的解决方法最近在windows上发现PHP程序中输出来的中文有乱码的情况。看了很多帖子资料说可以在页面上添加:用echo输...
    99+
    2019-06-05
    php 乱码
  • PHP中怎么批量导出csv文件
    PHP中怎么批量导出csv文件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。PHP批量导出csv文件的主要程序部分:< php  funct...
    99+
    2023-06-17
  • phpmyadmin导出汉字乱码怎么办
    这篇文章主要介绍phpmyadmin导出汉字乱码怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用phpMyAdmin把mysql数据库导入导出时,出现汉字(中文)乱码的问题。...
    99+
    2022-10-18
  • node.js 输出中文乱码怎么办
    本教程操作环境:Windows7系统、node18.4.0版、Dell G3电脑。node.js 输出中文乱码怎么办?Node.js中使用中文产生乱码的解决方案项目场景:Node.js 概述: 一个基于 Chrome JavaScript ...
    99+
    2022-11-22
    乱码 Node.js
  • MySQL中怎么导入导出CSV文件
    本篇文章为大家展示了MySQL中怎么导入导出CSV文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 MySQL自己提供了导入导出的工具,但有时我们需要仅仅导入导...
    99+
    2022-10-18
  • java中将查询的数据以csv文件导出时出现乱码
    一、问题将查询的数据以xls文件导出时(UTF-8编码),数据正常;但以CSV文件导出时,文件中的中文乱码,同样是UTF-8编码,改成GBK编码导出时,中文显示正常。本以为问题解决,后面导出含拉丁字符(如ÀÆÊàÌ)的数据时,以xls文件导...
    99+
    2017-12-08
    java 数据 csv 导出 乱码
  • php读csv文件乱码怎么解决
    随着互联网的发展,PHP编程语言在众多网站开发中得到了广泛的应用。其中,读取CSV文件是PHP编程中常见的操作。然而,在读取CSV文件时,常常会遇到乱码的问题,这对于开发人员来说是一个非常棘手的问题。本篇文章将会详细介绍PHP读取CSV文件...
    99+
    2023-05-14
    乱码 csv php
  • navicat导入xls文件中文乱码怎么办
    这篇文章主要介绍navicat导入xls文件中文乱码怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!  excel文件中的数据是从另外一个数据导出的,excel中没有乱码,但是用...
    99+
    2022-10-18
  • php bom 中文乱码怎么办
    本文操作环境:windows7系统、PHP7.4版、DELL G3电脑php bom 中文乱码怎么办PHP开发因BOM产生的乱码问题项目中要在php中直接下载csv文件,而文件下载后,在excel中显示乱码。所以要增加BOM,方式如下:$b...
    99+
    2019-08-21
    php bom 乱码
  • PHP mysqli 中文 乱码怎么办
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。PHP mysqli 中文 乱码怎么办PHP mysqli新增数据中文乱码错误一、问题的出现在使用PHP mysqli连接数据库写入数据时,发现写入数据库的中文是乱码的...
    99+
    2020-11-17
    PHP mysqli
  • php cmd中文乱码怎么办
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php cmd中文乱码怎么办?cmd命令提示符乱码解决方法:首先,打开命令提示符窗口,执行【chcp 65001】命令执行以上命令后,可以使本次的命令提示符使用【UT...
    99+
    2022-10-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作