我们正在通过php从csv文件中获取数据,并尝试比较数据以在我们的数据库中插入正确的数据,但是php比较不起作用,因为文件中的数据是带有法语口音的。
以下是我们正在使用的一段代码。
if($data[0]=='Expression' && $data[1]=='Domaine (Domain)' && utf8_decode($data[2])==utf8_decode('DŽfinition (Definition)') && $data[3]=='Commentaire (Commentary)' && $data[4]=='Voir aussiÉ (See also É)' && $data[5]=='ƒquivalent anglais (English equivalent)' && $data[6]=='En contexte / exemple(s) É (In context / examples)' && $data[7]=='Source' )
{
echo "<tr>
<td>".$data['0']."</td>
<td>".$data['1']."</td>
<td>".$data['2']."</td>
<td>".$data['3']."</td>
<td>".$data['4']."</td>
<td>".$data['5']."</td>
<td>".$data['6']."</td>
<td>".$data['7']."</td>
<td><i class='fa fa-close text-navy'></i></td>
</tr>";
return true;
}
else
{
echo "invalid data";
exit;
}
我们也试过这个。
function convert($data)
{
$value = utf8_encode($data);
$value = iconv('UTF-8', 'ASCII//TRANSLIT', $value);
return $value;
}
标题已放置输出正常
header('Content-Type: text/html; charset=iso-8859-1');
我们已尝试过几个php函数,如utf_decode,html实体,html特殊字符,htmlspecialchar_decode,但没有任何工作。
echo print_r(utf8_decode($data[2]));
输出如下:
D?finition(定义)1无效数据
实际词是:DŽfinition(定义)'
我们正在研究法语词典,并且需要对数据进行实时搜索,也请帮助mysql,比如在插入解码之前需要调用哪些函数以及之前需要调用哪些函数将数据显示回用户编码!
希望我的问题有点清楚。
提前致谢
答案 0 :(得分:1)
要以UTF8格式保存CSV,请在记事本中将其打开。
转到文件 - 另存为
将编码更改为UTF-8。
或与Libre Office合作:
https://csvimproved.com/support/questions-and-answers/916-save-a-csv-file-as-utf-8
希望它会帮助