亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

自動將 CSV 從 iso-8859-2 轉換為 utf-8

自動將 CSV 從 iso-8859-2 轉換為 utf-8

PHP
九州編程 2022-07-22 16:38:54
我有很多 CSV 文件不幸用 iso-8859-2 編碼(根據括號)。我想用 PHP 遍歷這些文件并轉換它們。我找到了https://csv.thephpleague.com/9.0/converter/charset/但我不確定使用轉換功能的方式。他們的示例代碼use League\Csv\CharsetConverter;$csv = new SplFileObject('/path/to/french.csv', 'r');$csv->setFlags(SplFileObject::READ_CSV | SplFileObject::SKIP_EMPTY);$encoder = (new CharsetConverter())->inputEncoding('iso-8859-15');$records = $encoder->convert($csv);到目前為止,這是我的代碼,它是上傳一個文件并將內容保存到數據庫進行測試的表單的一部分。它當然會以不正確的格式保存文本。$db = ConnectDB::getConnection('address_dtb');$sql = " ... ";$stmt = $db->prepare($sql);$rowCount = 0;$temp_name = $_FILES['adresscsv']['tmp_name'];$file_handle = fopen($temp_name, 'r');while (($items = fgetcsv($file_handle, 1000, ';')) !== FALSE) {    if($flag) { $flag = false; continue; }    $stmt->execute($items);    $rowCount++;}fclose($file_handle);ConnectDB::closeConnection($db);使用上面的 PHP CSV 庫在循環中迭代本地保存的文件for以自動化該過程的正確方法是什么?
查看完整描述

2 回答

?
慕少森

TA貢獻2019條經驗 獲得超9個贊

您不必使用庫。PHP中有一個函數可以做到這一點iconv


查看完整回答
反對 回復 2022-07-22
?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

我最終iconv按照提示使用。


$files = glob('address/*.csv');


foreach ($files as $csv) {

    $file_data = file_get_contents($csv);

    $utf8_file_data = iconv('Windows-1250', 'UTF-8', $file_data);

    file_put_contents($csv, $utf8_file_data);

}


查看完整回答
反對 回復 2022-07-22
  • 2 回答
  • 0 關注
  • 178 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號