ホームページ >バックエンド開発 >PHPチュートリアル >php phpExcel 导出,中文乱码,谁可以帮忙解释下呀

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

WBOY
WBOYオリジナル
2016-06-06 20:44:57946ブラウズ

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

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。