ホームページ  >  記事  >  バックエンド開発  >  PHPがmysqlのcsvをエクスポートするときに文字化けする問題を解決する方法

PHPがmysqlのcsvをエクスポートするときに文字化けする問題を解決する方法

藏色散人
藏色散人オリジナル
2022-11-19 09:49:101820ブラウズ

php による mysql csv エクスポートの文字化け問題の解決策: 1. 対応する php ファイルを開きます; 2. ファイルのヘッダーに「fwrite($fp, chr)」のようなコードで BOM ロゴを書き込むだけです。 (0xEF)." chr(0xBB) . chr(0xBF));"。

PHPがmysqlのcsvをエクスポートするときに文字化けする問題を解決する方法

このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。

phpからmysqlのcsvをエクスポートする際に文字化けが発生する問題を解決するにはどうすればよいですか?

CSV のエクスポートは、Windows で開くと文字化けしやすいため、関数にカプセル化された BOM 識別子をファイルのヘッダーに記述する必要があります。重要な部分は、ファイル ヘッダーに BOM を記述することです。ロゴ

/**
 * @param array $rows
 * @param array $fields
 * @param string $filename
  */
  function kg_export_csv($rows, $fields = [], $filename = '')
  {
    $filename = $filename ?: kg_uniqid();
  
    header("Content-Type: text/csv");
    header("Content-Disposition:filename={$filename}.csv");
  
    $fp = fopen('php://output', 'w');
  
    fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));
  
    if ($fields) fputcsv($fp, $fields);
  
    $index = 0;
  
    foreach ($rows as $row) {
     if ($index == 1000) {
     $index = 0;
     ob_flush();
     flush();
    }
    $index++;
    fputcsv($fp, $row);
  }

推奨学習: "

PHP ビデオ チュートリアル

"

以上がPHPがmysqlのcsvをエクスポートするときに文字化けする問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。