mysql csv를 내보내는 PHP의 잘못된 문제에 대한 해결책: 1. 해당 PHP 파일을 엽니다. 2. "fwrite($fp, chr(0xEF))와 같은 코드를 사용하여 파일 헤더에 BOM 로고를 작성합니다. chr(0xBB)" .chr(0xBF));”.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, Dell G3 컴퓨터.
php가 mysql csv를 내보낼 때 왜곡되는 문제를 해결하는 방법은 무엇입니까?
CSV 내보내기를 Windows에서 열면 문자가 깨질 수 있습니다. 함수로 캡슐화된 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); }
핵심 부분은 파일 헤더에 BOM 로고를 작성하는 것입니다.
fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));
추천 학습: "PHP 비디오 튜토리얼》
위 내용은 PHP가 mysql csv를 내보낼 때 왜곡되는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!