日韩精品成人无码专区免费-国产99久久久久久免费看-国产精品丝袜久久久久久不卡-国产精品无码一区二区三区

php導出csv亂碼怎么辦

發布時間:2024-02-16 點擊:175
php導出csv亂碼的解決辦法就是在文件的開始輸出bom頭,告訴windows csv文件的編碼方式,從而讓excel打開csv時采用正確的編碼。
php導出csv文件出現亂碼的解決方法
在做項目時碰到使用外語的情況下,我們就會使用utf-8編碼。但是,在用php導出csv文件時,如果寫入的數據是使用utf-8編碼的日語、韓語之類的外文,就會出現亂碼。
要解決php生成csv文件的亂碼問題,只需要在文件的開始輸出bom頭,告訴windows csv文件的編碼方式,從而讓excel打開csv時采用正確的編碼。
什么是bom
在ucs 編碼中有一個叫做”zero width no-break space”的字符,它的編碼是feff。而fffe在ucs中是不存在的字符,所以不應該出現在實際傳輸中。ucs規范建議我們在傳輸字節流前,先傳輸字符”zero width no-break space”。這樣如果接收者收到feff,就表明這個字節流是big-endian的;如果收到fffe,就表明這個字節流是little-endian的。因此
字符”zero width no-break space”又被稱作bom。utf-8不需要bom來表明字節順序,但可以用bom來表明編碼方式。字符”zero width no-break space”的utf-8編碼是ef bb bf。所以如果接收者收到以ef bb bf開頭的字節流,就知道這是utf-8編碼了。windows就是使用bom來標記文本文件的編碼方式的
在所有內容輸出之前
print(chr(0xef).chr(0xbb).chr(0xbf));幾個utf編碼的bom頭
define ('utf32_big_endian_bom' , chr(0x00) . chr(0x00) . chr(0xfe) . chr(0xff)); define ('utf32_little_endian_bom', chr(0xff) . chr(0xfe) . chr(0x00) . chr(0x00)); define ('utf16_big_endian_bom' , chr(0xfe) . chr(0xff)); define ('utf16_little_endian_bom', chr(0xff) . chr(0xfe)); define ('utf8_bom' , chr(0xef) . chr(0xbb) . chr(0xbf));完整的代碼
header('expires: 0'); header('cache-control: private'); header('cache-control: must-revalidate, post-check=0, pre-check=0'); header('content-description: file transfer'); 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// print(chr(0xef).chr(0xbb).chr(0xbf));更多相關知識,請訪問php中文網!

域名被劫持怎么解決
什么掛機寶便宜好用
電腦截圖快捷鍵是什么?截屏快捷鍵的使用方法
用戶反映卡我檢查了發現占用
百度云加速說是咱們這邊的問題
智慧零售優勢引領下半場 蘇寧易購去年凈利潤暴漲
網站如何防止盜鏈-虛擬主機/數據庫問題
個人域名怎么備案