解决php excel reader导出excel中文乱码的方法:1、如果不使用dump函数,可以通过修改【_defaultEncoding】变量解决问题;2、如果使用dump函数导出excel,需要修改htmlentities函数解决。

解决php excel reader导出excel中文乱码的方法:

在下载完php excel reader2.21后,请解压至你的PHP环境配置的运行目录下,打开example.php,首先来看1$data=new Spreadsheet_Excel_Reader("example.xls");

此语句是用来创建一个php导出excel的实例,在excel_reader2.php文件中我们可以找到此php excel reader类的构造函数原型Spreadsheet_Excel_Reader($file='',$store_extended_info=true,$outputEncoding='')

顾名思义,php excel reader导出excel文件内容的编码类型是通过$outputEncoding参数来指定的,默认的php excel reader导出excel的编码类型是通过变量_defaultEncoding设定,默认为UTF-8,所以通常解决php excel reader导出excel中文乱码有两种方法。

php excel reader导出excel中文乱码解决方法一:1$data=new Spreadsheet_Excel_Reader("example.xls");

改为1$data=new Spreadsheet_Excel_Reader("example.xls",true,"GB2312");

php excel reader导出excel中文乱码解决方法二:

打开excel_reader2.php,找到1var$_defaultEncoding="UTF-8";

修改为1var$_defaultEncoding="GB2312";

即可解决php excel reader导出excel乱码的问题。

那为什么通过上述教程修改后,如果在example.xls中添加中文后example.php仍然输出乱码呢?

这是因为其调用了php excel reader类中的dump函数,此函数是用来将导出的excel文件内容以HTML的形式输出,而问题恰恰是由于这个函数中htmlentities函数作怪,htmlentities函数是用来把字符转换为HTML实体的,原型如下htmlentities(string,quotestyle,character-set)

其默认的字符集为ISO-8859-1,所以当使用php excel reader的dump函数导出excel出现中文乱码时,

解决方法一:1$val=htmlentities($val);

修改为1$val=htmlentities($val,ENT_COMPAT,"GB2312");

解决方法二:1$val=htmlentities($val);

修改为1$val=htmlspecialchars($val);

php excel reader导出excel中文乱码解决方法总结

如果不使用dump函数导出excel,可以通过修改_defaultEncoding变量或者通过new Spreadsheet_Excel_Reader(excel文件名,true,”GB2312″);解决导出excel乱码问题,如果使用dump函数以HTML的方式导出excel,需要修改htmlentities函数解决导出excel乱码问题。相关学习推荐:PHP编程从入门到精通

php excelreader 中文,如何解决php excel reader导出excel中文乱码?相关推荐

  1. asp.net中使用excel类导出Excel文件,并导出到web客户端中遇到的问题

    asp.net中使用excel类导出Excel文件,并导出到web客户端中遇到错误: 检索Com类工厂中CLSID为{000245-0000-0000-C000-000000000046}的组件失败, ...

  2. .Net NPOI 根据excel模板导出excel、直接生成excel

    一.根据Excel模板导出excel 1.导入NPOI.dll  2.DAL中添加类ExportExcel.cs using NPOI.SS.UserModel; using System; usin ...

  3. 使用EasyPoi利用excel模板导出excel表格下载

    前言:使用excel模板导出excel的好处在于可以事先在模板上定义颜色.格式等,适用于模板设计得比较灵活复杂的场景 一.添加jar包 <dependency><groupId> ...

  4. laravel 框架maatwebsite/excel拓展导出excel增加sheets分页功能

    laravel的maatwebsite/excel是一个功能很强大的插件,但是文档相对简单了点 怎么引入插件就不写了,composer地址:maatwebsite/excel - Packagist ...

  5. springboot+poi开发excel导出 加载Excel模板导出 Excel批量导出详解

    提到Excel导出功能,可能很多人都使用springmvc框架做过,笔者今天要给大家分享的是基于springBoot开发Excel复杂模板导出功能(所谓复杂模板指在模板里的特定表头里有不同的单元格合并 ...

  6. js导出EXCEL js导出EXCEL

    参考一:http://wenku.baidu.com/view/7b81f3eb6294dd88d0d26b57.html 参考二: js导出EXCEL js导出EXCEL <html> ...

  7. java 根据excel模板导出excel

    java 根据excel模板导出excel 由于项目需求,最近做了一个需要根据查询接口导出excel表格数据的需求 pom依赖: <dependency><groupId>or ...

  8. java 分析excel模板,java 根据excel模板导出excel

    java 根据excel模板导出excel 由于项目需求,最近做了一个需要根据查询接口导出excel表格数据的需求 pom依赖: org.apache.poi poi 3.16 org.apache. ...

  9. 解决POI大数据导出Excel内存溢出、应用假死

    最近公司一个06年统计项目在导出Excel时造成应用服务器内存溢出.假死现象:查看代码发现问题一次查询一整年的数据导致堆内存被撑爆(假死),随后改用批量查询往Excel中写数据,同样的问题又出现了!! ...

最新文章

  1. 【camera-radar】相机-毫米波雷达联合标定方案介绍+实现
  2. Linux TC(Traffic Control)框架原理解析
  3. TiDB之mac上搭建及调试技巧
  4. 受限玻尔兹曼机准备知识——MCMC方法和Gibbs采样
  5. ABP vNext 自动注入,暗藏天坑如斯
  6. 【小记录】关于dojo中的on事件
  7. Java设计模式陈列
  8. python免费领取视频-quot;免费领取Python资源”
  9. Stm32 CubeMx安装和配置Cube.ai教程
  10. 利用互斥对象实现线程同步的实例说明
  11. 28.程序管理(ps,top)
  12. 解决在嵌入式平台上无法进行字符编码的问题
  13. oracle sqlplus命令登录数据库
  14. 杨玲 201771010133《面向对象程序设计(java)》第十三周学习总结
  15. 文字闪图怎么做?如何制作gif闪图?
  16. windows xp 下载老版本的chrome浏览器
  17. git 使用过程遇到的问题
  18. 做得好 vs 做得快?
  19. C#GridView获取选中当前行
  20. 20200404-斜坡补偿

热门文章

  1. 这些常见的分布式存储系统,你是否都了解?
  2. 10分钟Get拥抱无服务的正确姿势
  3. c语言里有js的预编译环节吗,C语言第十一讲,预处理命令.
  4. bootstraptable中responsehandle获取数据缺失_Python中的向量化字符串操作
  5. 学python就业到底如何_学习python后,就业如何?
  6. 火柴人_火柴人战争遗产修改无限金币钻石
  7. 安装redis提示[test] error 2_技术干货分享:一次flask+redis的微服务实战
  8. VS Code Element 提示 VSCode-Element-Helper 插件
  9. 工作流实战_11_flowable 流程实例 跟踪流程
  10. 软件设计师 - UML图