PHP で CSV ファイルから BOM エンコーディングを削除するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-04 15:39:02
オリジナル
797 人が閲覧しました

How to Remove BOM Encoding from CSV Files in PHP?

インポートされた .csv ファイルから BOM () を削除する

.csv ファイルをインポートするときに、バイト オーダー マーク (BOM) が存在するとエンコードの問題が発生する可能性があります。インポートされた .csv ファイルから BOM を削除する包括的なソリューションは次のとおりです:

問題:

preg_replace または str_replace を使用して BOM を削除するのに苦労しています。

コードの試行:

<code class="php">$filepath = get_bloginfo('template_directory')."/testing.csv";
// ...
$file = fopen($filepath, "r") or die("Error opening file");
// ...</code>
ログイン後にコピー

解決策:

  1. file_get_contents() 関数と file_put_contents() 関数を使用してファイルを読み取り、上書きしますBOM を削除した状態:
<code class="php">// Read the file contents
$content = file_get_contents($filepath);

// Remove the BOM
$content = str_replace("\xEF\xBB\xBF",'', $content);

// Overwrite the file with the updated content
file_put_contents($filepath, $content);</code>
ログイン後にコピー
  1. カスタム関数を使用して BOM を検出して削除します:
<code class="php">function removeBomUtf8($s){
  if(substr($s,0,3)==chr(hexdec('EF')).chr(hexdec('BB')).chr(hexdec('BF'))){
       return substr($s,3);
   }else{
       return $s;
   }
}</code>
ログイン後にコピー
  1. ファイルを再度開き、以前と同様に処理します。

注:

FILE_PUT_CONTENTS 関数は自動的にファイルを閉じるため、fclose() を使用して手動でファイルを閉じる必要はありません。

これらのソリューションを実装することで、インポートされた .csv ファイルから BOM を正常に削除し、正しいデータ解析を保証できます。

以上がPHP で CSV ファイルから BOM エンコーディングを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!