PHP導出帶有emoji表情的文本到excel文件出問題了


前段時間做了一個導出用戶信息(包含微信昵稱)到excel文件的功能,一直沒問題,今天突然有人反饋說導出來的數據有一些丟失了。我試了一下,發現有些數據導出沒問題,有些有問題,某些列出現了空白,數據打印出來是沒問題的,但是輸出到excel文件中就出問題了。因為打開導出的excel文件的時候提示存在無法讀取的內容,所以我猜想可能是數據中存在某些特殊字符導致的。不斷縮小導出的數據范圍進行重試后,終於鎖定了問題,原來是用戶的微信昵稱中出現emoji表情導致的,將其過濾掉再導出就好了。

emoji表情過濾函數:

/**
* 過濾文本中的emoji表情包(輸出到excel文件中會導致問題)
* @param string $text 原文本
* @return string 過濾emoji表情包后的文本
*/
function removeEmoji($text){
	$len = mb_strlen($text);
	$newText = '';
	for($i=0;$i<$len;$i++){
		$str = mb_substr($text, $i, 1, 'utf-8');
		if(strlen($str) >= 4) continue;//emoji表情為4個字節
		$newText .= $str;
	}
	return $newText;
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM