在 php 中读取 csv 文件时不知道如何解决我的错误编码?

问题描述

我想读取一个 csv 文件并将数据放入 MysqL 数据库中。问题是“é”编码错误。我试着把这个标题

header('Content-Type: text/html; charset=UTF-8');

但是没有用。

这是我的代码,问题出在变量 $site 上:

<?PHP
include_once __DIR__ . '/../../../components/functions.PHP';
$filename = "../../../Factures/factures.csv";
header('Content-Type: text/html; charset=UTF-8');
if(($csvfile = fopen($filename,"r")) !== FALSE)
{
    fgets($csvfile);  fgets($csvfile);  fgets($csvfile);  fgets($csvfile);

    while (($data = fgetcsv($csvfile,",")) !== FALSE)
    {
        $data = array_map("utf8_encode",$data);

        //Formattage des données
        $j = substr($data[3],2); $m = substr($data[3],3,2); $y = substr($data[3],6,4);
        $dateDeb = $y . $m . $j;
        $j2 = substr($data[4],2); $m2 = substr($data[4],2); $y2 = substr($data[4],4);
        $dateFin = $y2 . $m2 . $j2;
        $data[5] = str_replace(",".",$data[5]);
        $data[6] = str_replace(",$data[6]);
        $data[8] = str_replace(",$data[8]);
        print($data[0] . "\n");
        $req = $pdo->prepare('INSERT INTO Factures SET Site = :unSite,Type = :unType,Numero = :unNumero,DateFacture = :uneDateFacture,DateEcheance = :uneDateEcheance,MontantHT = :unMontantHT,TVA = :uneTVA,MontantTT = :unMontantTT,SoldeTTC = :unSoldeTTC');
        $req->execute(array(
            ':unSite' => utf8_encode($data[0]),':unType' => $data[1],':unNumero' => $data[2],':uneDateFacture' => date("Y/m/d",strtotime($dateDeb)),':uneDateEcheance' => date("Y/m/d",strtotime($dateFin)),':unMontantHT' => round(doubleval($data[5]),2),'uneTVA' => round(doubleval($data[6]),'unMontantTT' => round(doubleval($data[5]+doubleval($data[6])),'unSoldeTTC' => round(doubleval($data[8]),2)
        ));
    }
    fclose($csvfile);
    //sup ou garder
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...