我使用Excel文件的自动VB脚本创建CSV文件。该文件编码为latin_1
。要将这个文件正确地导入到我的MySQL数据库中,我需要将文件的编码转换为UTF8
。在导入MySQL之前更改.csv文件的编码
它工作,如果我手动将文件保存到UTF8,但我想用PHP自动。
方向是XLS - > CSV - > MYSql。一切都在Windows上运行。
我使用Excel文件的自动VB脚本创建CSV文件。该文件编码为latin_1
。要将这个文件正确地导入到我的MySQL数据库中,我需要将文件的编码转换为UTF8
。在导入MySQL之前更改.csv文件的编码
它工作,如果我手动将文件保存到UTF8,但我想用PHP自动。
方向是XLS - > CSV - > MYSql。一切都在Windows上运行。
这会将任何文本文件的编码从任何编码转换为UTF-8。请注意,它不适用于XLS文件;你必须先将其转换为CSV:
$pathToFile = '...';
$original = file_get_contents($pathToFile);
$originalEncoding = mb_detect_encoding($original);
$converted = mb_convert_encoding($original, 'UTF-8', $originalEncoding);
file_put_contents($pathToFile, $converted);
如果您不想覆盖原始文件,指定一个不同的第一个参数为file_put_contents()
。
有一个知道[PHPExcel](https://github.com/PHPOffice/PHPExcel)的开源库,可以解析XLS文件,而无需手动转换为CSV。 – Terry
你最初是否有xls或csv? –