读取某些EXCEL文件出错,提示Notice: iconv() [function.iconv]: Detected an illegal character in input string in D:\wamp\www\Excel\reader.php on line 796
出错代码如下,上面下面都还有些处理语句,为了不让大家看得麻烦,就定位到了错误语句。<?php
  require_once "excel/reader.php";


$excelData = new Spreadsheet_Excel_Reader();//创建excelData对象,用于读取excel信息
$excelData->setOutputEncoding ('gbk');//设置输出编码为中文
$excelData->read("data.xls");//指定文件
?>问题很明显,就是这三句造成的,确切的说是最后两句造成的,在注释掉$excelData->setOutputEncoding ('gbk')这句以后不会提示错误,但是其实$excelData->read("data.xls")这个没有读取成功。但是如果把excel文件内容全选,后选择粘贴到新的的excel,选择内容为数值,则问题不存在,所以想请为有经验的大大,这个问题如何解决----excel表内容包括中文字符、日期、数字、公式、函数。如果没有办法从根本解决这个问题,如何象JAVA一样通过try-catch抓住这个notice,然后写自己的提示。

解决方案 »

  1.   

    Detected an illegal character in input string
    检测到输入字符串的非法字符通常 Notice 错误并不影响程序的运行,尝试屏蔽该错误信息:
    error_reporting(E_ALL ^ E_NOTICE);
      

  2.   

    已经加了这一句,不过还是提示上面的错误,而且后面的关于excel读取的语句都没执行。
      

  3.   

    $excelData->setOutputEncoding ('utf-8'); //这样会报错不?
      

  4.   

    这个我试过了,错是不会报,但是依然不读EXCEL