php phpExcel 导出,中文乱码,谁可以帮忙解释下呀

tanghuamao
  • 49

1 =>
array (size=12)
1 => string '??' (length=2)
2 => string '??id' (length=4)
3 => string '??????' (length=7)
4 => string '????
???' (length=8)
5 => string '?????' (length=6)
6 => string '??
???' (length=6)
7 => string '???????' (length=8)
8 => string '????
???' (length=8)
9 => string '?????' (length=6)
10 => string '????' (length=4)
11 => string '??
??' (length=5)
12 => string '????_??' (length=7)
2 =>
array (size=9)
1 => string '4' (length=1)
2 => string '11' (length=2)
3 => string '?????' (length=5)
5 => string '??' (length=2)
6 => string '??' (length=2)
8 => string 'http://shanghai.anjuke.com/community/view/4' (length=43)
9 => string '?????' (length=5)
10 => string 'http://mingmenbinjiangyuan.soufun.com/' (length=38)
11 => string '??' (length=2)

回复
阅读 16.3k
5 个回答

如果php编码是utf-8,导出来的也是utf-8,只要php头文件设置的正确,一般不会出问题,2003、2010、2013的office都能正常打开,但是2007有可能会乱码,原因可能2007对Unicode支持的不好,网上有资料通过设置2007可以解决,但是这明显不是很好的解决办法,可用下面的语句在输出时将字符串转换一下。

iconv("UTF-8","GBK",$str)

这样基本上任何excel打开就都不会有乱码了。

先把资料转换成UTF-8 可以使用iconv函数

你要把php编码强制转换为utf-8 也就是header("Content-type: text/html; charset=utf-8")这是php实现……

只看你上面的内容,可以看出情况可能发生在你从数据库拿出来的时间就出现乱码,又或者像 折光华 所说php输出时没设置字符编码,在页面显示的时候就乱码。但是你问题的标题又说 phpExcel 导出乱码,这样的话,我还是感觉你数据库取出来发生乱码的可能性很高。

建议你看看这里:http://www.iteye.com/topic/461900

小小建议:这个问题不是一个“聪明的问题”,提供的信息太少了,都不知道你具体是什么情况,希望提问者日后提问能说明清楚。

输入乱码是由于缓冲区有其它信息,
输出前先前一下缓存区:ob_clean()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏