[英]PHP Convert utf-16le to UTF-8 when the CSV is too LARGE TO LOAD TO MEMORY
我正在尝试使用 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' );
不要对 utf-16le 使用 FGETS!!!!!!! 它会破坏文件的格式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.