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