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;
    }
    

      

  • 相关阅读:
    java面试题总汇
    数据库sql语句规则
    docker安装redis(网上很多答案都是错误的,小心误入歧途!)
    docker 安装redis后,可视化工具无法连接
    Session
    #{}和${}区别
    axios和ajax区别
    Git使用
    Git常用命令
    如何简单粗暴的搞定dubbo调用模块
  • 原文地址:https://www.cnblogs.com/wujuntian/p/11649036.html
Copyright © 2011-2022 走看看