|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
也得学会了PHP。然后再学,见异思迁是最不可取的,狗熊掰玉米就是这个道理,如果经常中途放弃,只能是一无所获,还浪费了N多的时间和经历,得不偿失,最重要的是,你会被别人瞧不起。 之前我的PHP教程博客访友扣问利用php excel reader2.21导出excel时中文呈现乱码若何处理,现我申明下php excel reader导出excel中文乱码的处理办法,但愿对利用php excel reader导出excel的伴侣有所匡助。
php excel reader引见
php excel reader是一个读取Excel xsl文件内容的一个php excel类,今朝最新版本是php excel reader2.21,网上可自行搜刮,sourceforge上的php excel reader下载地址我估量是初始版,本教程所引见的php excel reader导出excel中文乱码处理办法是基于php excel reader2.21,故分歧版本php导出excel乱码的处理办法是有区分的,请务必下载准确的php excel reader版本。
若何处理php excel reader2.21导出excel中文乱码?
鄙人载完php excel reader2.21后,请解压至你的PHP情况设置装备摆设的运转目次下,翻开example.php,起首来看
1
$data = new Spreadsheet_Excel_Reader("example.xls"); 此语句是用来创立一个php导出excel的实例,在excel_reader2.php文件中咱们可以找到此php excel reader类的机关函数原型
1
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,找到
1
var $_defaultEncoding = "UTF-8"; 修正为
1
var $_defaultEncoding = "GB2312"; 便可处理php excel reader导出excel乱码的成绩。
那为何经由过程上述教程修正后,假如在example.xls中添加中文后example.php依然输入乱码呢?这是由于其挪用了php excel reader类中的dump函数,此函数是用来将导出的excel文件内容以HTML的模式输入,而成绩恰好是因为这个函数中htmlentities函数作祟,htmlentities函数是用来把字符转换为HTML实体的,原型以下
1
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 excel reader2.21导出excel中文乱码时若何处理就引见完了。
注:PHP网站开辟教程-leapsoul.cn版权一切,转载时请以链接模式注明原始出处及本声明,感谢。
左手拿着MOTOLOLA右手拿着NOKIA,要多潇洒,有多潇洒,哈哈,终于学会了,但是可能这个时候,又会有人不经意的拍拍肩膀对你说:哥们,别高兴的太早,你还是菜鸟,离学会还差着一大截呢! |
|