>백엔드 개발 >PHP 튜토리얼 >file_get_contents()를 사용할 때 UTF-8 문자 손상을 어떻게 해결할 수 있습니까?

file_get_contents()를 사용할 때 UTF-8 문자 손상을 어떻게 해결할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-04 16:19:16273검색

How Can I Fix UTF-8 Character Corruption When Using file_get_contents()?

file_get_contents() UTF-8 문자 손상: 해결 방법

file_get_contents()를 활용하여 UTF-8 인코딩으로 HTML 콘텐츠를 검색하는 경우 , ľ, š, č 및 ž와 같은 특수 문자가 잘못 렌더링되는 문제가 사용자에게 발생할 수 있습니다. 이로 인해 Å, 3/4 및 ¤와 같은 횡설수설 문자가 대신 표시됩니다.

문제는 file_get_contents()에서 사용하는 기본 인코딩에 있습니다. 이 문제를 해결하려면 함수 호출에서 원하는 인코딩을 명시적으로 지정할 수 있습니다. 그러나 검색된 HTML을 파일에 저장하고 UTF-8 인코딩으로 인쇄하는 것 역시 효과가 없는 것으로 나타났습니다. 이는 깨진 데이터가 소스 자체에서 검색된다는 것을 나타냅니다.

성공적으로 입증된 솔루션은 다중 작업을 수행하는 것입니다. -검색된 HTML 문자열에 대한 바이트 변환. 관련 단계는 다음과 같습니다.

  1. mb_Detect_encoding($html, 'UTF-8', true)을 사용하여 HTML 문자열의 현재 인코딩을 감지합니다.
  2. 문자열을 UTF-로 변환합니다. 8 mb_convert_encoding($html, 'UTF-8', mb_Detect_encoding($html, 'UTF-8', true)).
  3. 마지막으로 mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8')을 사용하여 UTF-8 문자열을 HTML 엔터티로 변환합니다.

By 이러한 단계를 구현하면 검색된 HTML 문자열이 올바르게 변환되어 UTF-8 문자가 올바르게 표시될 수 있습니다.

위 내용은 file_get_contents()를 사용할 때 UTF-8 문자 손상을 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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