PhpOffice\PhpSpreadsheet 从 excel 错误字符集中导入 mysql
Posted
技术标签:
【中文标题】PhpOffice\\PhpSpreadsheet 从 excel 错误字符集中导入 mysql【英文标题】:PhpOffice\PhpSpreadsheet import mysql from excel error charsetPhpOffice\PhpSpreadsheet 从 excel 错误字符集中导入 mysql 【发布时间】:2020-09-21 03:17:23 【问题描述】:我的 excel 文件包含越南语数据:
Tính tiền | Việt Nam
当我使用 phpOffice\PhpSpreadsheet 将数据导入 mysql 时,错误数据可能是“Tính ti?n” | “越南”。 我曾尝试像这样更改代码 setInputEncoding:
$allowed_extension = array('xls', 'csv', 'xlsx');
$file_array = explode(".", $_FILES["import_excel"]["name"]);
$file_extension = end($file_array);
$file_name = time() . '.' . $file_extension;
move_uploaded_file($_FILES['import_excel']['tmp_name'], $file_name);
$file_type = \PhpOffice\PhpSpreadsheet\IOFactory::identify($file_name);
$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader($file_type);
$reader->setInputEncoding('utf-8');
/$reader->setInputEncoding('CP1252');
还是不行,我需要帮助...谢谢!!
【问题讨论】:
【参考方案1】:尝试设置正确的输入编码,无论电子表格有什么;例如:
$reader->setInputEncoding('CP1258');
【讨论】:
【参考方案2】:你必须看到使用了 utf8 参见 FAQ 和 documentation
【讨论】:
以上是关于PhpOffice\PhpSpreadsheet 从 excel 错误字符集中导入 mysql的主要内容,如果未能解决你的问题,请参考以下文章
phpoffice/phpspreadsheet对Excel导入导出操作
作曲家需要 phpoffice/phpspreadsheet 不起作用
PhpOffice\PhpSpreadsheet 从 excel 错误字符集中导入 mysql
phpoffice/phpspreadsheet - 如何从 getHighestRow() 中排除无值单元格