簡體   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