PHP fgetcsv 读取 csv 文件中文乱码的解决方法

admin 阅读:113 2024-03-01

使用 php 自带的 fgetcsv 读取 csv 文件内容,出现乱码。这是因为 csv 文件内容编码不是 utf8 的,所以在读取和写入数据库时如果存在中文就会出现乱码,可以用 iconv 函数转换解决。

$file = Input::file('xls_file_name');
$fp = fopen($file->getRealPath(), 'r');
$shops = array();
$key_arr = ['name', 'pcd', 'address'];
while ($line = fgetcsv($fp)) {
    $line_data = array();
    $i = 0;
    foreach ($key_arr as $key) {
        $line_data[$key] = iconv('gb2312','utf-8', $line[$i]);
        $i++;
    }
    array_push($shops, $line_data);
    $line = fgetcsv($fp);
}
unset($shops[0]);
声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!