zoukankan      html  css  js  c++  java
  • 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;
    }
    

      

  • 相关阅读:
    Go 环境变量相关操作
    Go命令行参数解析flag包
    go sync.once用法
    使用go语言编写IOS和Android程序
    go map的使用
    go runtime.Gosched()的作用分析
    go中的读写锁RWMutex
    go互斥锁Mutex
    go import使用及. _的作用解析
    利用channel在goroutins之间控制同步和传递数据
  • 原文地址:https://www.cnblogs.com/wujuntian/p/11649036.html
Copyright © 2011-2022 走看看