繁体   English   中英

当 CSV 太大而无法加载到内存时,PHP 将 utf-16le 转换为 UTF-8

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM