使用希伯来语内容的PHPExcel读取.csv文件无法正常工作

时间:2017-03-29 11:50:00

标签: php csv yii2 phpexcel import-csv

我尝试使用PHPExcel库读取.csv文件,但它给了我问号而不是希伯来文

只有当我尝试上传从Windows操作系统创建的.csv文件时,才会出现此问题。我尝试了相同的MacOs和Linux数据似乎没问题。我怎样才能解决windows的编码问题

    public function actionUpload()
    {
            $params = $_FILES['uploadFile'];
            if($params)
            {
                $data = array();
                $model = new UploadForm();
                $model->uploadFile = $_FILES['uploadFile'];
                $file =  UploadedFile::getInstanceByname('uploadFile');
                $inputFileName = $model->getpath($file,$data);
                //  Read your Excel workbook
                try
                {
                    $inputFileType = \PHPExcel_IOFactory::identify($inputFileName['link']);
                    $objReader = \PHPExcel_IOFactory::createReader($inputFileType);
                    $objPHPExcel = $objReader->load($inputFileName['link']);
                }
                catch(Exception $e)
                {
                    die('Error loading file "'.pathinfo($inputFileName['link'],PATHINFO_BASENAME).'": '.$e->getMessage());
                }

                //  Get worksheet dimensions
                $sheet = $objPHPExcel->getSheet(0); 
                $highestRow = $sheet->getHighestRow(); 
                $highestColumn = $sheet->getHighestColumn();
                $fileData = array();
                //  Loop through each row of the worksheet in turn
                for ($row = 1; $row <= $highestRow; $row++)
                { 
                    //  Read a row of data into an array
                    $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row,
                                                    NULL,
                                                    TRUE,
                                                    FALSE);
                    array_push($fileData,$rowData[0]);
                    //  Insert row data array into your database of choice here
                }
                return $fileData;
            }

   }

输出数组有“???? ???”在上载从Windows操作系统创建的.csv文件时,存在希伯来文本的地方。

0 个答案:

没有答案