php导出excel 繁体,php导出excel并解决乱码问题的方法介绍_游戏葡萄的博客-程序员宅基地

技术标签: php导出excel 繁体  

使用php导出数据为Excel,数据中包含中文。

先介绍一个简单的方法,但对中文处理的不是很好,仅供参考:

复制代码 代码示例:

header("Content-type:application/vnd.ms-excel");

header("Content-Disposition:attachment;filename=export_data.xls");

echo "姓名"."\t";

echo "繁體"."\t";

echo "博客"."\t";

echo "\n";

echo "jason"."\t";

echo "@"."\t";

echo "javaeye"."\t";

?>

可以考虑在header中加入字符集

header("Content-type:application/vnd.ms-excel;charset=UTF-8");

问题: 这里只是告诉浏览器要选什么字符集查看,最终我的需求还是要生成xls文件.

有的朋友建议使用iconv转码.

复制代码 代码示例:

echo iconv("当前编码","GB18030","此博客来源于javaeye,by jason");

问题: 这样文件里的汉字编码就GB18030,可是Excel这么知道用什么编码打开呢?只能完全依赖OS默认.可是如果碰到繁体BIG5这么办,还是会乱码。

最后,采用phpMyAdmin的做法,用HTMLExcel。

复制代码 代码示例:

xmlns:x="urn:schemas-microsoft-com:office:excel"

xmlns="http://www.w3.org/TR/REC-html40">

1234 Robbin会吐口水
5678 javaeye网站

如此,便可以直接echo了,且不需要iconv转码,只要设置好HTML里的Content-type(此处使用UTF-8),当然header还是要加上:

复制代码 代码示例:

header("Content-type:application/vnd.ms-excel");

header("Content-Disposition:attachment;filename=export_data.xls");

就是这样了,有兴趣的朋友,抓紧测试下吧,看看中文内容导出excel是否已经不再有乱码的问题了?!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30713705/article/details/115627668

智能推荐

【Android】解决微信调起支付接口没反应,调不起来微信的问题_JimCarter的博客-程序员宅基地

前言吐槽一下,微信支付的sdk真难用,文档混乱,坑不少。可能引起这种情况的问题1. 最不能出现的你的APPID和商户号写错了。appid是你open.weixin.qq.com里你设置的应用的id。2. 最可能出现的你应用的签名弄错了,这里坑比较多。 * 当你直接用AndroidStudio调试,在手机上直接Run的时候,用给的那个签名软件,获取到签名更新到你应用信息的这里: * 当你在另外

easyui grid 里的可编辑text 加清空图标_会做饭的技术男的博客-程序员宅基地

$.extend($.fn.datagrid.defaults.editors, { text: { init: function (container, op...

黑马程序员---Java高新技术学习笔记(前篇)_西贝呆呆的博客-程序员宅基地

------------Android培训、Java培训、期待与你交流------------1.枚举枚举是JDK1.5出现的新特性,其实就是一个特殊的类,其中也可以定义构造方法,成员变量,普通方法和抽象方法。枚举元素必须位于方法体中最开始的部分,枚举元素列表需要用分号和其他成员分隔。把枚举重的成员方法或变量等放在枚举元素的前面,编译器会编译失败。

Android 实现横向滑动效果_dudu_246437的博客-程序员宅基地_android 横向滑动

在做android开发的时候,很多时候我们要使用水平滑动的效果,同时再滑动栏中的对象可能会作为选择对象的存在,在这里给大家做一个水平滚动的例子。首先我们要想象一下,一个水平滑动选择器的样子:接下来是布局的实现: 外层这里我们使用普通的 HorizontalScrollView, scroll view的内部内容我们使用GridView来显示多个像,并且这些对象是在一

GitHub 上传与下载项目(使用gitbash工具)_Howareyou?的博客-程序员宅基地_github 上传工具

1.打开git bush ,cd命令进入项目所在的文件夹;2.git init3.git add .4.git commit -m “first commit”5.git remote add origin https://自己的仓库url地址(再GitHub创建仓库时要勾选生成README的选项)6.$ git pull --rebase origin master(将READEME文...

异步fifo的设计(FPGA)_Laplace666的博客-程序员宅基地

本文首先对异步 FIFO 设计的重点难点进行分析一、FIFO简单讲解FIFO的本质是RAM, 先进先出重要参数:fifo深度(简单来说就是需要存多少个数据) fifo位宽(每个数据的位宽)FIFO有同步和异步两种,同步即读写时钟相同,异步即读写时钟不相同同步FIFO用的少,可以作为数据缓存异步FIFO可以解决跨时钟域的问题,在应用时需根据实际情...

随便推点

linux nvidia 垂直同步,Linux 下 NVIDIA 显卡闭源驱动的一些优化_Wu Jerry的博客-程序员宅基地

NVIDIA 对开源驱动开发的支持之差从 Linus Torvalds 那句著名的“Fuck NVIDIA”就可见一斑——几乎没有提供任何开发文档,开源驱动的开发基本要通过逆向工程进行。因而,想要获得较好的 3D 加速性能、 VDPAU 硬件解码功能、完整的多头显示支持等等,你必须使用 NVIDIA 闭源驱动。不过闭源驱动的一大问题就是文档匮乏、过时,一大堆神奇设置(不少还是隐藏的)让人摸不着头脑...

mp4 流化本质_sunxiaopengsun的博客-程序员宅基地_mp4 流化

MP4目前被广泛用于封装h.264视频和AAC音频,是高清视频的代表。 本文提出了基于MP4文件存储格式的高效实时流化技术。流化的本质就是按顺序提取音视频帧的过程,即计算每个数据帧在文件中的偏移量的问题。由于MP4文件的音视频帧在文件中的物理位置不是顺序存放,而是以一种相对凌乱的状态存在,若在媒体数据播放的过程中,计算每帧偏移量难以做到高效率。因为计算偏移量是个相对繁琐的过程,要计算多级偏移和很多

数据库SQL:范式(第六章)_你好,晓明的博客-程序员宅基地

通俗易懂版第二范式:2FC不能部分依赖于主码,比如有俩个主属性时,必须俩个都依赖,不能依赖于其中之一。第三范式:3FC不存在传递依赖,即意思必须只依赖于主码,不能a----b,b----c,不能依赖与非主属性。BCFC:主属性中的之一也必须依赖于另一个。第四范式:比如一个用户有俩个电话,就出现了重复项,名字是主属性,有俩行这个用户的数据,违背了第四范式。...

mysql 找到重复的数据_小小Code的博客-程序员宅基地_mysql找出重复的值

简介工作中测试反馈-页面上显示了两个相同的数据,于是叫我把两条相同的数据找出来。其实这就是当初表设计时,没对唯一字段(比如phone)添加 唯一约束 导致的坑,现在首先要把数据找出来,然后再填坑,在找出数据的时候又踩了一些坑,下面开始正式的填坑之路申明 以下所有数据和数据库表结构为自己模拟数据,并非公司真实数据找出相同的数据的SQLSELECT id,onlyid FROM (SELECT * FROM TEST_TABLE a WHERE a.onlyid in (select onlyi

C/C++中的关键字:extern的用法解析_又偷吃我氮泵_的博客-程序员宅基地_c++ extern用法

前言在C/C++中,extern 关键字可以用于变量或者函数的声明前,还可以用于进行链接指定。一:extern 用于变量或函数的声明前二:extern 用于链接指定

Gradle 配置环境变量_码蛋蛋的博客-程序员宅基地_gradle修改环境变量

我相信这个一个很简单很基础的配置,但是如果不注意,你就入坑啦,等着花3-4个小时吧。这里说一下,如果要在cmd打开控制台,输入gradle命令的话,那就必定要配置gradle环境变量。 我相信做过javaWeb开发的同志们都会配置JAVA_HOME了,所以我就按照当时候配置JAVA_HOME的Flow来配置 GRADLE_HOME了,结果?你猜猜遇到什么问题了吗?先上图啦,遇到这个问题了。问题:g

推荐文章

热门文章

相关标签