热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何使用PHP代码将表格导出为UTF8格式的Excel文件

本文介绍了如何使用PHP代码将表格导出为UTF8格式的Excel文件。首先,需要连接到数据库并获取表格的列名。然后,设置文件名和文件指针,并将内容写入文件。最后,设置响应头部,将文件作为附件下载。

我写了PHP代码是为了在csv(excel)中导出一个表。
我的表格有6列:Timestamp,Order number,Last Name,First Name,Phone number,e-mail address.
字符集是utf8。
我的代码是:

$cOnn= mysqli_connect("localhost","username","password","database");
$filename = "FILENAME";
$fp = fopen('php://output','w');
$query = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='mydatabase' AND TABLE_NAME='myTableName'";
$result = mysqli_query($conn,$query);
while ($row = mysqli_fetch_row($result)) {
$header[] = $row[0];
}
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename='.$filename);
fputcsv($fp,$header);
$query = "SELECT * FROM `MyTableName` order by `LNAME`";
$result = mysqli_query($conn,$query);
while($row = mysqli_fetch_row($result)) {
fputcsv($fp,$row);
}
exit;
?>

因此,我有我的excel文件,但不幸的是,有些名称是用希腊语写的,我在导出文件中看到像"ΣΟΦΙΑ".这样的字符

有人可以帮我解决这个问题吗?


这是一个编码问题,请在标头中使用charset = UTF-8,如下所示:

替换此行:

header('Content-type: application/csv');

此行:

header("content-type:application/csv;charset=UTF-8");

,

谢谢,我尝试了一下但没有成功。
导出文件具有相同的结果。
我不是程序员,我对php和sql的了解很差。
但是我找到了一种解决方法。我尝试过:

$con = mysqli_connect("localhost","MyUsername","MyPassword","MyDatabase");
if (mysqli_connect_errno())
{
die('Could not connect: ' . mysqli_connect_error());
}
mysqli_select_db($con,"MyDatabase");
$sql = "SELECT * FROM `MyTableName` order by `LNAME`";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result))
{
echo ("

    ");
    echo ("
  • " . utf8_decode($row['LNAME']) . " " . utf8_decode($row['FNAME']) . " " . $row['PHONE'] . " " . utf8_decode($row['EMAIL'])."
  • ");
    echo ("
");
}
mysqli_close($con);
?>

因此,我得到一个网页列表,所有名称和字符均可读。
虽然,我无法考虑如何使用“ utf8_decode”来使csv文件具有相同的结果。
有什么想法吗?

,

您是否正在Excel中打开CSV文件?这篇文章介绍了如何向文件添加UTF-8字节顺序标记(BOM),以便Excel 2007和更高版本将正确识别编码:Microsoft Excel mangles Diacritics in .csv files?


推荐阅读
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 解决网站乱码问题的综合指南
    本文总结了导致网站乱码的常见原因,并提供了详细的解决方案,包括文件编码、HTML元标签设置、服务器响应头配置、数据库字符集调整以及PHP与MySQL交互时的编码处理。 ... [详细]
  • PHP数组平均值计算方法详解
    本文详细介绍了如何在PHP中计算数组的平均值,涵盖基本概念、具体实现步骤及示例代码。通过本篇文章,您将掌握使用PHP函数array_sum()和count()来求解数组元素的平均值。 ... [详细]
  • 本文介绍如何使用布局文件在Android应用中排列多行TextView和Button,使其占据屏幕的特定比例,并提供示例代码以帮助理解和实现。 ... [详细]
  • 本文介绍如何使用 Angular 6 的 HttpClient 模块来获取 HTTP 响应头,包括代码示例和常见问题的解决方案。 ... [详细]
  • 在PHP后端开发中遇到一个难题:通过第三方类文件发送短信功能返回的JSON字符串无法解析。本文将探讨可能的原因并提供解决方案。 ... [详细]
  • python时间序列之ADF检验(1)
    读取数据,pd.read_csv默认生成DataFrame对象,需将其转换成Series对象DataFrame和Series是pandas中最常见的2 ... [详细]
author-avatar
陈雅如7959
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有