Heim >Backend-Entwicklung >PHP-Tutorial >php phpExcel 导出,中文乱码,谁可以帮忙解释下呀

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

WBOY
WBOYOriginal
2016-06-06 20:44:57944Durchsuche

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)

回复内容:

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)

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

<code>iconv("UTF-8","GBK",$str)
</code>

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

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

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

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

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn