PHP bom에 중국어 문자가 깨졌을 경우 어떻게 해야 할까요?

藏色散人
풀어 주다: 2023-03-14 09:02:02
원래의
2001명이 탐색했습니다.

php bom 중국어 왜곡 코드에 대한 해결 방법: 1. 해당 PHP 개발 파일을 엽니다. 2. "$bom = pack("C3",239,187,191);$strcsv =$bom.$strcsv;"를 추가합니다.

PHP bom에 중국어 문자가 깨졌을 경우 어떻게 해야 할까요?

이 글의 운영 환경: Windows 7 시스템, PHP 버전 7.4, DELL G3 컴퓨터

php bom 중국어 왜곡 문자는 어떻게 처리하나요?

PHP 개발에서 BOM으로 인해 발생하는 잘못된 코드 문제

프로젝트에서는 반드시 PHP로 되어 있어야 합니다. csv 파일을 직접 다운로드했는데, 파일을 다운로드한 후 엑셀에서 글자가 깨져서 표시됩니다. 그래서 BOM을 늘리는 방법은 다음과 같습니다.

$bom = pack("C3",239,187,191);   //bom: xEFxBBxBF
$strcsv =$bom.$strcsv;
로그인 후 복사

다음은 인터넷에서 가져온 좀 더 간결한 설명입니다.

BOM 설명: UCS 인코딩에 "ZERO WIDTH NO-break SPACE"라는 문자가 있는데, 인코딩은 FEFF 입니다. FEFF는 UCS에 존재하지 않는 문자이므로 실제 전송에서는 나타나지 않아야 한다. UCS 사양에서는 바이트 스트림을 전송하기 전에 "ZERO WIDTH NO-break SPACE" 문자를 전송할 것을 권장합니다. 이런 식으로 수신기가 FEFF를 수신하면 바이트 스트림이 Big-Endian임을 나타내고, FFFE를 수신하면 바이트 스트림이 Little-Endian임을 나타냅니다. 따라서 "ZERO WIDTH NO-break SPACE" 문자를 BOM이라고도 합니다.

UTF-8은 바이트 순서를 나타내는 데 BOM이 필요하지 않지만 BOM을 사용하여 인코딩 방법을 나타낼 수 있습니다. "ZERO WIDTH NO-break SPACE" 문자의 UTF-8 인코딩은 EF BB BF입니다. 따라서 수신기가 EF BB BF로 시작하는 바이트 스트림을 수신하면 UTF-8로 인코딩되었음을 알 수 있습니다. Windows는 BOM을 사용하여 텍스트 파일의 인코딩을 표시합니다.

PHP는 설계 시 BOM 문제를 고려하지 않았습니다. 즉, UTF-8로 인코딩된 파일 시작 부분에 있는 BOM의 세 문자를 무시하지 않는다는 의미입니다.

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP bom에 중국어 문자가 깨졌을 경우 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!