本篇內(nèi)容主要講解“PHP導(dǎo)出Excel亂碼問題如何解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“PHP導(dǎo)出Excel亂碼問題如何解決”吧!
創(chuàng)新互聯(lián)建站是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計公司的優(yōu)秀設(shè)計人員和策劃人員組成的一個具有豐富經(jīng)驗的團隊,其中包括網(wǎng)站策劃、網(wǎng)頁美工、網(wǎng)站程序員、網(wǎng)頁設(shè)計師、平面廣告設(shè)計師、網(wǎng)絡(luò)營銷人員及形象策劃。承接:成都網(wǎng)站制作、網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)頁設(shè)計制作、網(wǎng)站建設(shè)與維護、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫開發(fā),以高性價比制作企業(yè)網(wǎng)站、行業(yè)門戶平臺等全方位的服務(wù)。我在PHP項目里要求把數(shù)據(jù)導(dǎo)出為Excel,并且數(shù)據(jù)中包含中文.
網(wǎng)上大概了解一下可是使用PHPExcel,可是相對我的需求,這個框架太復(fù)雜了.于是還是想找找簡單做法.
網(wǎng)上發(fā)現(xiàn)其實最簡單可以這樣寫,但問題是這種做法中文的編碼不可靠..
復(fù)制代碼 代碼如下:
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=export_data.xls");
echo "姓名"."\t";
echo "繁體"."\t";
echo "博客"."\t";
echo "\n";
echo "jason"."\t";
echo "@"."\t";
echo "javaeye"."\t";
?>
有些同學(xué)會想到header加入字符集
復(fù)制代碼 代碼如下:
header("Content-type:application/vnd.ms-excel;charset=UTF-8");
問題: 這里只是告訴瀏覽器要選什么字符集查看,最終我的需求還是要生成xls文件.
當(dāng)然.有些同學(xué)還會想到用iconv轉(zhuǎn)碼.
復(fù)制代碼 代碼如下:
echo iconv("當(dāng)前編碼","GB18030","此博客來源于javaeye,by jason");
問題: 這樣文件里的漢字編碼就GB18030,可是Excel這么知道用什么編碼打開呢?只能完全依賴OS默認.可是如果碰到繁體BIG5這么辦,還是會亂碼. 所以還是不靠譜.
最后我采用phpMyAdmin的做法.用HTMLExcel, HTML我們比較熟悉,格式如下.
復(fù)制代碼 代碼如下:
1234 | Robbin會吐口水 |
5678 | javaeye網(wǎng)站 |
這下可以直接echo了,又不需要iconv轉(zhuǎn)碼,只要設(shè)置好HTML里的Content-type(這里用的是UTF-8),是不是有舒服的感覺呢? 當(dāng)然header還是要加上
復(fù)制代碼 代碼如下:
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=export_data.xls");
到此,相信大家對“PHP導(dǎo)出Excel亂碼問題如何解決”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!