php excelreader 中文,如何解决php excel reader导出excel中文乱码?
解决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中文乱码?相关推荐
- asp.net中使用excel类导出Excel文件,并导出到web客户端中遇到的问题
asp.net中使用excel类导出Excel文件,并导出到web客户端中遇到错误: 检索Com类工厂中CLSID为{000245-0000-0000-C000-000000000046}的组件失败, ...
- .Net NPOI 根据excel模板导出excel、直接生成excel
一.根据Excel模板导出excel 1.导入NPOI.dll 2.DAL中添加类ExportExcel.cs using NPOI.SS.UserModel; using System; usin ...
- 使用EasyPoi利用excel模板导出excel表格下载
前言:使用excel模板导出excel的好处在于可以事先在模板上定义颜色.格式等,适用于模板设计得比较灵活复杂的场景 一.添加jar包 <dependency><groupId> ...
- laravel 框架maatwebsite/excel拓展导出excel增加sheets分页功能
laravel的maatwebsite/excel是一个功能很强大的插件,但是文档相对简单了点 怎么引入插件就不写了,composer地址:maatwebsite/excel - Packagist ...
- springboot+poi开发excel导出 加载Excel模板导出 Excel批量导出详解
提到Excel导出功能,可能很多人都使用springmvc框架做过,笔者今天要给大家分享的是基于springBoot开发Excel复杂模板导出功能(所谓复杂模板指在模板里的特定表头里有不同的单元格合并 ...
- js导出EXCEL js导出EXCEL
参考一:http://wenku.baidu.com/view/7b81f3eb6294dd88d0d26b57.html 参考二: js导出EXCEL js导出EXCEL <html> ...
- java 根据excel模板导出excel
java 根据excel模板导出excel 由于项目需求,最近做了一个需要根据查询接口导出excel表格数据的需求 pom依赖: <dependency><groupId>or ...
- java 分析excel模板,java 根据excel模板导出excel
java 根据excel模板导出excel 由于项目需求,最近做了一个需要根据查询接口导出excel表格数据的需求 pom依赖: org.apache.poi poi 3.16 org.apache. ...
- 解决POI大数据导出Excel内存溢出、应用假死
最近公司一个06年统计项目在导出Excel时造成应用服务器内存溢出.假死现象:查看代码发现问题一次查询一整年的数据导致堆内存被撑爆(假死),随后改用批量查询往Excel中写数据,同样的问题又出现了!! ...
最新文章
- 【camera-radar】相机-毫米波雷达联合标定方案介绍+实现
- Linux TC(Traffic Control)框架原理解析
- TiDB之mac上搭建及调试技巧
- 受限玻尔兹曼机准备知识——MCMC方法和Gibbs采样
- ABP vNext 自动注入,暗藏天坑如斯
- 【小记录】关于dojo中的on事件
- Java设计模式陈列
- python免费领取视频-quot;免费领取Python资源”
- Stm32 CubeMx安装和配置Cube.ai教程
- 利用互斥对象实现线程同步的实例说明
- 28.程序管理(ps,top)
- 解决在嵌入式平台上无法进行字符编码的问题
- oracle sqlplus命令登录数据库
- 杨玲 201771010133《面向对象程序设计(java)》第十三周学习总结
- 文字闪图怎么做?如何制作gif闪图?
- windows xp 下载老版本的chrome浏览器
- git 使用过程遇到的问题
- 做得好 vs 做得快?
- C#GridView获取选中当前行
- 20200404-斜坡补偿
热门文章
- 这些常见的分布式存储系统,你是否都了解?
- 10分钟Get拥抱无服务的正确姿势
- c语言里有js的预编译环节吗,C语言第十一讲,预处理命令.
- bootstraptable中responsehandle获取数据缺失_Python中的向量化字符串操作
- 学python就业到底如何_学习python后,就业如何?
- 火柴人_火柴人战争遗产修改无限金币钻石
- 安装redis提示[test] error 2_技术干货分享:一次flask+redis的微服务实战
- VS Code Element 提示 VSCode-Element-Helper 插件
- 工作流实战_11_flowable 流程实例 跟踪流程
- 软件设计师 - UML图