Php导出Excel文件乱码的解决
2009-04-22 15:55
369 查看
Php导出Excel文件时有两个主要的过程: 1、定义文件名 2、填充Excel数据 这两个过程中可能会出现一些乱码问题,下面我来说一下解决办法: 解决文件名的乱码: 乱码原因:客户使用的中文版Windows系统平台,而Windows平台的文件名编码为gb2312(gbk),而我们网页编码为了跟进现存潮流一般都采用utf-8(国际化)编码,这时当我们:header("Content-Disposition: inline; filename=/"" . $filename . ".xls/"")时就会出现乱码,假如你的网页编码就是gb2312那就不用考虑编码问题了。 解决办法:对$filename转码,执行:iconv('utf-8", "gb2312", $filename)。假如你的环境不支持iconv函数可以换别的函数,只要能将$filename的编码转为gbk就行。 但是这样问题又会来了,linux用户又会出现文件名乱码(因为linux平台文件名不是gbk编码)。 考虑到这个问题我采用两个办法:第一:放弃一部分客户,毕竟windows系统用户占绝大部分。第二:像gmail一样,提供两个下载地址。一个文件名gbk编码,一个文件名utf-8编码。 解决Excel内数据乱码: 乱码原因:网页编码与Excel编码不一致。 解决办法:既然编码不一致,那让其一致了就OK了。定义Excel的字符集:header("Content- Type: application/vnd.ms-excel; charset=UTF-8"),看到charset=UTF-8了吧,让其与您网页编码一致即可解决Excel内数据乱码的问题了,这个比较简单! |
相关文章推荐
- phpexcel 导出到xls文件的时候出现乱码解决
- PHP生成UTF-8编码的CSV文件用Excel打开乱码的解决办法
- PHP生成UTF-8编码的CSV文件用Excel打开乱码的解决办法
- 解决PHP文件(word/excel)下载 内容打开乱码问题
- 解决在IE下使用PHPExcel导出时的文件名中文乱码问题
- 具体讲解PHP导出Excel乱码的解决方法
- PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解,解决PHP下载文件名中文乱码
- 文件、导出-在Mac系统下Excel转csv文件中文乱码问题解决-by小雨
- Asp.NET导出Excel文件乱码解决方法
- 基于PHP导出Excel的小经验 完美解决乱码问题
- PHP 用fputcsv()生成csv文件在windows Excel 下打开乱码问题解决
- Asp.NET导出Excel文件乱码解决若干方法 (转)
- php 数据库中的回车换行导出excel文件时切换单元格的解决办法
- [置顶] 解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题
- PHP从数据库导出数据到excel,无插件(解决中文以及法语乱码问题)
- PHP在使用PHPExcel组件导出xls文件乱码的解决
- 如何解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题
- ThinkPHP 3.2 + PHPExcel 导入导出文件 第三方类库不能用问题解决
- 解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题
- JAVA以UTF-8导出CSV文件,用excel打开产生乱码的解决方法