在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');
依然是乱码.
有人遇到这样的问题吗.麻烦指教.
<?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');
依然是乱码.
有人遇到这样的问题吗.麻烦指教.
$str=iconv('utf-8','gb2312',$handle);
print_r(fgetcsv($str));
//print_r(fgetcsv($handle,1000));
fclose($str);
iconv()第三个参数要是string.$handle返回值不是string类型的.