如何在PHP中輸出Excel將正確讀取的UTF-8 CSV?我有一個(gè)非常簡單的東西,它只是輸出一些CSV格式的東西,但是它必須是UTF-8。我在TextEdit、TextMate或Dreamweaver中打開這個(gè)文件,它正確地顯示UTF-8字符,但是如果我在Excel中打開它,它就會(huì)做這種傻事。以下是我在文件中的主要內(nèi)容:header("content-type:application/csv;charset=UTF-8");header("Content-Disposition:attachment;filename=\"CHS.csv\"");除了Excel(Mac,2008)不想正確導(dǎo)入它之外,這一切似乎都具有預(yù)期的效果。Excel中沒有選項(xiàng)可以讓我“打開UTF-8”或任何東西,所以…我有點(diǎn)生氣。我似乎在任何地方都找不到任何明確的解決辦法,盡管很多人都有同樣的問題。我看到的最重要的是包括BOM,但我不知道如何做到這一點(diǎn)。如你所見,我只是echo用這些數(shù)據(jù),我不會(huì)寫任何文件。我可以這樣做,如果我需要,我只是不是因?yàn)樗坪鯖]有必要在這一點(diǎn)上。有什么幫助嗎?更新:我嘗試將BOM作為echo pack("CCC", 0xef, 0xbb, 0xbf);我剛剛從一個(gè)試圖探測到BOM的網(wǎng)站上找到的。但是Excel只是在導(dǎo)入第一個(gè)單元格時(shí)將這三個(gè)字符附加到第一個(gè)單元格中,并且仍然會(huì)混淆特殊字符。
3 回答

MMMHUHU
TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
header('Content-Encoding: UTF-8');header('Content-type: text/csv; charset=UTF-8');header('Content-Disposition: attachment; filename=Customers_Export.csv');echo "\xEF\xBB\xBF"; // UTF-8 BOM

冉冉說
TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊
header('Content-Description: File Transfer');header('Content-Type: application/octet-stream');header('Content-Disposition: attachment; filename=file.csv');header('Content-Transfer-Encoding: binary');header('Expires: 0');header('Cache-Control: must-revalidate, post-check=0, pre-check=0');header('Pragma: public');echo "\xEF\xBB\xBF"; // UTF-8 BOMecho $csv_file_content;exit();
- 3 回答
- 0 關(guān)注
- 729 瀏覽
添加回答
舉報(bào)
0/150
提交
取消