解决phpexcelparser的中文问题!

这个函数看不懂,大侠帮忙看下!
下面是两个实现unicode和中文转换的函数,可是我不知道function   get(   $exc,   $data   ) 中的   $exc,   $data   分别是要输入什么参数。
多谢大家帮忙,祝大家新年快乐!

其实这两个函数是别人从PHPExcelParserPro3.0里面摘出来的,我开始以为是别人自己编的,所以就硬着头皮看了半天!

后来突然发现函数名是PHPExcelParserPro3.0里面的,把它们覆盖以后,可以解决PHPExcelParserPro3.0的中文显示问题。让存入Mysql里的中文不再是unicode码,而是中文字符

再次感谢函数原创者!



<?php
function   uc2html($str)   {   
  $ret   =   '';   
  for(   $i=0;   $i<strlen($str)/2;   $i++   )   {   
  $charcode   =   ord($str[$i*2])+256*ord($str[$i*2+1]);   
  // $ret   .=   '&#'.$charcode;   
  $ret   .=   iconv("utf-8","gb2312",u2utf8($charcode));   
  }   
  return   $ret;   
  }   
   
  其中u2utf8为   
  function   u2utf8($c)   {     
  $str="";     
  if   ($c   <   0x80)   {     
  $str.=$c;     
  }   else   if   ($c   <   0x800)   {     
  $str.=chr(0xC0   |   $c>>6);     
  $str.=chr(0x80   |   $c   &   0x3F);     
  }   else   if   ($c   <   0x10000)   {     
  $str.=chr(0xE0   |   $c>>12);     
  $str.=chr(0x80   |   $c>>6   &   0x3F);     
  $str.=chr(0x80   |   $c   &   0x3F);     
  }   else   if   ($c   <   0x200000)   {     
  $str.=chr(0xF0   |   $c>>18);     
  $str.=chr(0x80   |   $c>>12   &   0x3F);     
  $str.=chr(0x80   |   $c>>6   &   0x3F);     
  $str.=chr(0x80   |   $c   &   0x3F);     
  }   
  return   $str;     
  }   


function   get(   $exc,   $data   )   
  {   
  switch(   $data['type']   )   
  {   
  //   string   
  case   0:   
  $ind   =   $data['data'];   
  if(   $exc->sst[unicode][$ind]   )   {   
  return   uc2html($exc->sst['data'][$ind]);//这就是编码处理。如果你需要,可以这里。但不建议那样做   
  }else   
  return   $exc->sst['data'][$ind];   
  //   integer   
  case   1:   
  return   (integer)   $data['data'];   
  //   float   
  case   2:   
  return   (float)   $data['data'];   
                  case   3:   
  return   gmdate("m-d-Y",$exc->xls2tstamp($data[data]));   
  default:   
  return   '';   
  }   
  }

[ 本帖最后由 zhudianchen 于 2007-12-30 01:55 编辑 ]