.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>
해결책:
<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>
<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>
참고:
FILE_PUT_CONTENTS 함수는 파일을 자동으로 닫으므로 fclose()를 사용하여 수동으로 닫을 필요가 없습니다.
이러한 솔루션을 구현하면 가져온 .csv 파일에서 BOM을 성공적으로 제거하고 올바른 데이터 구문 분석을 보장할 수 있습니다.
위 내용은 PHP의 CSV 파일에서 BOM 인코딩을 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!