2016-10-02 39 views
0

我使用Excel文件的自动VB脚本创建CSV文件。该文件编码为latin_1。要将这个文件正确地导入到我的MySQL数据库中,我需要将文件的编码转换为UTF8在导入MySQL之前更改.csv文件的编码

它工作,如果我手动将文件保存到UTF8,但我想用PHP自动。

方向是XLS - > CSV - > MYSql。一切都在Windows上运行。

+0

你最初是否有xls或csv? –

回答

1

这会将任何文本文件的编码从任何编码转换为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()

+1

有一个知道[PHPExcel](https://github.com/PHPOffice/PHPExcel)的开源库,可以解析XLS文件,而无需手动转换为CSV。 – Terry