>  기사  >  백엔드 개발  >  PHP의 CSV 파일에서 BOM 인코딩을 제거하는 방법은 무엇입니까?

PHP의 CSV 파일에서 BOM 인코딩을 제거하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-04 15:39:02798검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.