Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menyelesaikan masalah bercelaru apabila php mengeksport mysql csv

Bagaimana untuk menyelesaikan masalah bercelaru apabila php mengeksport mysql csv

藏色散人
Lepaskan: 2023-03-17 14:00:01
asal
1870 orang telah melayarinya

Penyelesaian kepada masalah aksara bercelaru yang dieksport oleh PHP ke mysql csv: 1. Buka fail PHP yang sepadan 2. Hanya tulis logo BOM dalam pengepala fail, dengan kod seperti "fwrite($ fp, chr(0xEF)." chr(0xBB) . chr(0xBF));".

Bagaimana untuk menyelesaikan masalah bercelaru apabila php mengeksport mysql csv

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer Dell G3.

Bagaimana untuk menyelesaikan masalah mysql csv yang dieksport oleh php?

Csv yang dieksport terdedah kepada aksara bercelaru apabila dibuka di bawah Windows Pengenalan BOM perlu ditulis dalam pengepala fail, yang telah dirangkumkan ke dalam fungsi

/**
 * @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);
  }
Salin selepas log masuk

Bahagian utama ditulis dalam pengepala fail Masukkan logo BOM

fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));
Salin selepas log masuk

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah bercelaru apabila php mengeksport mysql csv. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan