、林神奇 发表于 2013-8-14 12:09:51

PHPExcel在Linux服务器导出乱码的问题?

请问大家有没有遇到这种情况!
用PHPExcel做导出数据的时候!
在windows服务器下没有问题,可以导出!
但是上传到linux服务器就出事了,导出到excel表格内中文都是乱码,而且连分页页码都被导出了!
请问有遇到过这个问题的同学怎么样才能解决呢?

jeongee 发表于 2013-8-14 15:14:21

应该是程序中间有报错了

、林神奇 发表于 2013-8-15 14:41:03

jeongee 发表于 2013-8-14 15:14 static/image/common/back.gif
应该是程序中间有报错了

可是上传到两个都是windows的服务器就没问题,一传到linux服务器就导出乱码{:soso_e117:}...

bananaplan 发表于 2013-8-16 10:09:37

因为不了解详情,所以只能推测给出以下
建议:
1.在导出前调用ob_end_clean()清除并关闭输出缓存
2.在针对中文的地方用iconv将UTF-8转成GBK编码试试
一条一条的试,不要2条一起上。
因为刚做完phpexcel的导出功能,所以稍微了解一些,但也是在windows下测试的,只能推测linux下的解决方案

、林神奇 发表于 2013-8-20 17:29:55

bananaplan 发表于 2013-8-16 10:09 static/image/common/back.gif
因为不了解详情,所以只能推测给出以下
建议:
1.在导出前调用ob_end_clean()清除并关闭输出缓存


你好!查了网上一些方法,好像就是要清除缓冲区才能正常!但是,请问一下,我加了ob_end_clean()后!报了这样的错误:
Message: ob_end_clean() : failed to delete buffer. No buffer to delete.
请问能这么解决呢?

bananaplan 发表于 2013-8-26 15:44:33

、林神奇 发表于 2013-8-20 17:29 static/image/common/back.gif
你好!查了网上一些方法,好像就是要清除缓冲区才能正常!但是,请问一下,我加了ob_end_clean()后!报了 ...

首先,如果你用了ob_end_clean()后,不会出现乱码情况了,那么,恭喜你,你的问题已经解决了。
只有报的那个错误,你看清楚了,那只是一个Message信息,可以通过php.ini或者ini_set()或者在所调用的方法前加@(即:@ob_end_clean())解决,就不会出现上述信息了。

、林神奇 发表于 2013-8-27 15:54:37

bananaplan 发表于 2013-8-26 15:44 static/image/common/back.gif
首先,如果你用了ob_end_clean()后,不会出现乱码情况了,那么,恭喜你,你的问题已经解决了。
只有报的 ...

郁闷,虽然没有报错误了,但是导出来还是乱码{:soso_e127:}
不然只能叫客户换服务器了{:soso_e105:}
页: [1]
查看完整版本: PHPExcel在Linux服务器导出乱码的问题?