解决phpexcel保存时文件命中文出现 乱码 (这个真的有用)
2016-03-08 23:25
567 查看
Phpexcel导出Excel文件时有两个主要的过程:
1、定义文件名
2、填充Excel数据
这两个过程中可能会出现一些乱码问题,下面我来说一下解决办法:
解决文件名的乱码:
乱码原因:客户使用的中文版Windows系统平台,而Windows平台的文件名编码为gb2312(gbk),而我们网页编码为了跟进现存潮流 一般都采用utf-8(国际化)编码,这时当我们:header("Content-Disposition: inline; filename=\"" . $filename . ".xls-:special:1:-")时就会出现乱码,假如你的网页编码就是gb2312那就不用考虑编码问题了。
解决办法:对$filename转码,执行:iconv('utf-8", "gb2312", $filename)。假如你的环境不支持iconv函数可以换别的函数,只要能将$filename的编码转为gbk就行。
但是这样问题又会来了,linux用户又会出现文件名乱码(因为linux平台文件名不是gbk编码)。
考虑到这个问题我采用两个办法:第一:放弃一部分客户,毕竟windows系统用户占绝大部分。第二:像gmail一样,提供两个下载地址。一个文件名gbk编码,一个文件名utf-8编码。
解决Excel内数据乱码:
乱码原因:网页编码与Excel编码不一致。
解决办法:1.既然编码不一致,那让其一致了就OK了。定义Excel的字符集:header("Content-Type:
更多相关内容请点击http://blog.shiliuvip.com/
1、定义文件名
2、填充Excel数据
这两个过程中可能会出现一些乱码问题,下面我来说一下解决办法:
解决文件名的乱码:
乱码原因:客户使用的中文版Windows系统平台,而Windows平台的文件名编码为gb2312(gbk),而我们网页编码为了跟进现存潮流 一般都采用utf-8(国际化)编码,这时当我们:header("Content-Disposition: inline; filename=\"" . $filename . ".xls-:special:1:-")时就会出现乱码,假如你的网页编码就是gb2312那就不用考虑编码问题了。
解决办法:对$filename转码,执行:iconv('utf-8", "gb2312", $filename)。假如你的环境不支持iconv函数可以换别的函数,只要能将$filename的编码转为gbk就行。
但是这样问题又会来了,linux用户又会出现文件名乱码(因为linux平台文件名不是gbk编码)。
考虑到这个问题我采用两个办法:第一:放弃一部分客户,毕竟windows系统用户占绝大部分。第二:像gmail一样,提供两个下载地址。一个文件名gbk编码,一个文件名utf-8编码。
解决Excel内数据乱码:
乱码原因:网页编码与Excel编码不一致。
解决办法:1.既然编码不一致,那让其一致了就OK了。定义Excel的字符集:header("Content-Type:
更多相关内容请点击http://blog.shiliuvip.com/
相关文章推荐
- [转]考虑 PHP 5.0~5.6 各版本兼容性的 cURL 文件上传
- 安装php过程中的错误和解决方式 configure: error: jpeglib.h not found
- PHP连接Mysql常用API(mysql,mysqli,pdo)区别与联系
- [PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(一.安装XAMPP)
- php数组和文件操作
- Vsftpd下如何把用户限制在家目录中
- 安卓学习_contentprovider()_查询手机联系人查找
- php中数组的拆分,合并,分解,连接操作
- wdcp面板php版本升级为5.3
- 关于PHP错误日志不记录的问题
- php单例模式 数据类实现
- FTP的主动模式和被动模式
- 搭建php运行服务器 win8.1系统安装iis+php5.3+mysql+ZendGuardLoader说明
- PHP中抽象方法、抽象类和接口的用法
- php 三元运算符
- php和java的一些比较
- php常用Output和ptions/Info函数集介绍
- php表单中如何获取单选按钮与复选按钮的值
- PHP初学之魔术函数
- php初学之面向对象