打开csv文件不正确的编码

时间:2017-09-26 10:09:06

标签: php csv

当我打开csv文件时

$str = file_get_contents($filename);      
$str = mb_convert_encoding($str,"utf-8","sjis"); 
var_dump($str);

它显示如下

\0000\000.\0000\0000\0008\0000\0005\0007\000,\0000\000.\0000\0001\0000 ....

起初我认为,这是编码问题,所以我添加了mb_convert_encoding但是徒劳无功。

造成这种不正确编码的原因是什么?

1 个答案:

答案 0 :(得分:1)

你最好能做到这一点:

$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }
    fclose($handle);
}

代码复制自:http://php.net/manual/en/function.fgetcsv.php
或者:http://php.net/manual/en/function.str-getcsv.php