PHPOffice/PHPExcel 中文文件名乱码

      • 场景
      • 分析
      • 解决方法
      • 注意

场景

. 公司开发环境同一是php5.5(运维同学 为啥不升级???) 现在需要做一个自动发送日报的邮件服务,
  肯定是是需要excel的
. 选择excel肯定首选 `PHPOffice/PhpSpreadsheet` ,但是这个包最低的php版本是php5.6 
  所以只能选择一个2015就已经停更的 `PHPOffice/PHPExcel`(且缺少官方文档)
. 导出文件名是中文乱码

分析

. 中文乱码的原因是win(gbk)和linux(utf8)系统编码方式不同

解决方法

. 统一一哈
    /**
     * 解决中文乱码的问题
     * @param $str
     * @return string
     */
    protected function convertUTF8($str)
    {
        if (empty($str)) return '';
        return iconv('utf-8', 'gb2312', $str);
    }

注意

.  `PHPOffice/PHPExcel`没有命名空间, 所以使用的方式 

require引入
\ 解决在框架中的命名空间问题

你可能感兴趣的:(php)