在php手册里面有这样一个例子,为什么读出的是乱码
<?php
$row = 1;
$handle = fopen("test.csv","r");
while ($data = fgetcsv($handle, 1000, ",")) {
    $num = count($data);
    echo "<p> $num fields in line $row: <br>\n";
    $row++;
    for ($c=0; $c < $num; $c++) {
        echo $data[$c] . "<br>\n";
    }
}
fclose($handle);
?> 
我做了个简单点的,就是读取然后print出来.$handle = fopen("test.xls","r");
print_r(fgetcsv($handle));
//print_r(fgetcsv($handle,1000));
fclose($handle);
依然是输出乱码,在开头加了
 header('content-type:text/html;charset=UTF-8');
依然是乱码.
有人遇到这样的问题吗.麻烦指教. 

解决方案 »

  1.   

    具体怎么用的啊,麻烦解释下.thx
      

  2.   

    今天怎么都是乱码问题呢?$handle = fopen("test.xls","r");
    $str=iconv('utf-8','gb2312',$handle);
    print_r(fgetcsv($str));
    //print_r(fgetcsv($handle,1000));
    fclose($str); 
      

  3.   

    提示错误:Warning: iconv() expects parameter 3 to be string, resource given.
    iconv()第三个参数要是string.$handle返回值不是string类型的.