【发布时间】:2021-12-19 16:21:15
【问题描述】:
我正在一个网站上工作,该网站在服务器上上传了一个 csv 文件,然后我们获取该文件来检索数据并进行数据库插入。 csv 文件的内容包含 UTF8 重音符号(例如“Cédric”) 使用当前代码,当我们浏览文件时,Cédric 变成了 Cdric,如果我在 Excel 中打开上传的文件,Cédric 写得很好
这是表单代码
<form id="upload" method="post" action="upload" enctype="multipart/form-data" accept-charset="utf-8">
<label>File</label>
<input id="upload" name="upload" type="file" value="">
</div>
</div>
</div>
</div>
</form>
这里是上传功能
if (isset($_FILES['upload']) && $_FILES['upload']['error'] == 0) {
$extension = pathinfo($_FILES['upload']['name'], PATHINFO_EXTENSION);
if (strtolower($extension) !== 'csv') {
$error['msg'] = 'Error';
}
if (move_uploaded_file($_FILES['upload']['tmp_name'], 'upload/' . $_FILES['upload']['name']))) {
$error['msg'] = 'OK !';
}
}
还有数据恢复码
$files = file('upload/' . $inputFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach (array_slice($files, 1, 5000) as $datas){
$data = explode(';', $datas);
var_dump($data[0]);
die();
}
var_dump($data[0]);显示“Cdric”
请问如何才能拥有“Cédric”?
【问题讨论】:
标签: php csv file-upload utf-8