我生成與下面的頭命令csv文件:PHP生成CSV文件在Excel中顯示£爲英鎊符號(£)2007
header("Content-type: text/csv; charset=utf-8; encoding=utf-8");
header('Content-Disposition: attachment; filename="products.csv"');
如果我在Excel 2007中打開文件,那麼無論何時出現英鎊符號,我都會得到英鎊。但是,如果我在Notepad ++中打開文件,那麼磅符號顯示正常;同樣,如果我將內容類型更改爲text/plain並刪除附件頭,則井號會在瀏覽器中正確顯示。
奇怪的是,如果我轉到Notepad ++中的「格式」菜單,看起來該文件是以「沒有BOM的UTF-8」編碼的。如果我將其更改爲「以UTF-8編碼」,然後保存該文件,井號將在Excel中正確顯示。有沒有一種方法可以讓文件通過PHP保存在這種編碼中?
您需要顯示關於生成文件的PHP腳本的更多詳細信息 – 2010-11-02 10:11:09
我知道UTF編碼的英鎊是£,你可以只輸入英鎊這種方式。我沒有Excel的經驗,所以這可能是一個沒用的評論;) – theorise 2010-11-02 10:11:54
英鎊的UTF編碼不是£ - 這是HTML編碼。您不能在CSV文件中使用HTML編碼。 – Gnuffo1 2010-11-02 10:14:41