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