我正在尝试使用PHP修复CSV。
该文件也是非常大的500mb。我需要将它从utf-16le转换为utf-8。问题是我最初使用fgets((,发现它不适用于utf-16le。
如何在不使用fgets的情况下将此文件转换为UTF-8?文件太大,无法加载到内存中。
我已经在论坛上搜索过了,有很多方法可以转换编码,但对于这么大的使用utf-16le的文件来说就没有了。
这里的解决方案是通过exec、shell_exec或bactick运算符将此任务留给操作系统。
我用过:
shell_exec ( 'iconv -f utf-16le -t utf-8 1.csv > 2.csv' );
请勿将FGETS用于utf-16le!!!!!!!它将破坏文件的格式。