在MySQL导入之前更改.csv文件的编码

我用一个Excel文件的自动VB脚本创build一个CSV文件。 该文件使用latin_1编码。 要将这个文件正确导入到我的MySQL数据库中,我需要将文件的编码转换为UTF8

它工作,如果我手动将文件保存到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()指定不同的第一个参数。