關于導出CSV編碼問題
由于之前開發的開發過程中,是統一面向中文編碼,所以之前在開發的過程中只要保證導出中文不出現亂碼即可,以(UTF-8為準)常常這樣用:
$name=iconv("utf-8","gbk",$v['name']);
就可以解決問題;
但是最近開發的系統中,面向的是多國語言,先貼出解決方案,再詳細說明原因。
導出csv文件內容前,加上chr(OXEF).chr(OXBB).chr(OXBF);如下圖:
解釋原因:
為了識別Unicode文件,microsoft建議所有的Unicode文件都需要有一個“特征符”來標記,該文件中使用的編碼和字節順序;
其中: EF BB BF 代表的正是UTF-8編碼;