php 가 csv 파일 을 읽 은 후 uft 8 bom 은 페이지 에 문제 해결 방법 을 표시 합 니 다.

date.csv:"ID","NAME","EMAIL","1","샤 오 밍"[email protected]"2"."샤 오 둥"[email protected]"3"."소 소"."[email protected]"
이 csv 파일 을 읽 습 니 다

<?php
$handle=fopen('date.csv','r');
while($data=fgetcsv($handle,10000,"/t"))  
{  
  echo "$data[0]"."$data[1]"."$data[2]";  
}
?>
읽 어서 페이지 에 표시 할 때 이렇게 됩 니 다."ID"NAME EMAIL 소명[email protected] 작은 주인[email protected] 3 꼬마[email protected]함수 의 필드 서 라운드 부 호 는 기본적으로 더 블 따옴표 입 니 다.왜 제 가 읽 을 때 다른 필드 는 모두 좋 은 데 ID 는 더 블 따옴표 로 싸 여 있 습 니까?
인터넷 에서 찾 아 보 니 utf 8 인 코딩 의 bom 이 phop 에서 식별 할 수 없 었 습 니 다.다음은 찾 아 낸 자료 입 니 다.유 니 코드 규범 에 BOM 이라는 개념 이 있 습 니 다.BOM―Byte Order Mark,바로 바이트 순서 표시 입 니 다.여기 서 BOM 에 대한 설명 을 찾 았 습 니 다.UCS 인 코딩 에'ZERO WIDTH NO-BREAK SPACE'라 는 문자 가 있 습 니 다.인 코딩 은 FEFF 입 니 다.FFFE 는 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 인 코딩 임 을 알 수 있다.윈도 우즈 는 텍스트 파일 의 인 코딩 방식 을 BOM 으로 표시 합 니 다.또 유 니 코드 사이트 의 FAQ-붐 은 BOM 을 상세히 소개 했다.정부의 자연 권 위 는 영어 에 불과 해 힘 들 어 보인다.UTF-8 인 코딩 된 파일 중 BOM 이 세 개의 바이트 를 차지한다.메모 장 으로 텍스트 파일 하 나 를 UTF-8 인 코딩 방식 으로 저장 하면 UE 로 이 파일 을 열 고 16 진수 편집 상태 로 전환 하면 시작 하 는 FFFE 를 볼 수 있 습 니 다.이것 은 UTF-8 인 코딩 파일 을 표시 하 는 좋 은 방법 이다.소프트웨어 는 BOM 을 통 해 이 파일 이 UTF-8 인 코딩 인지 아 닌 지 를 식별 하고 많은 소프트웨어 가 읽 은 파일 은 반드시 BOM 을 가 져 가 야 한다 고 요구한다.하지만 BOM 을 인식 하지 못 하 는 소프트웨어 가 많다.저 는 Firefox 를 연구 할 때 Firefox 초기 버 전에 서 확장 은 BOM 이 있 을 수 없다 는 것 을 알 았 습 니 다.그러나 Firefox 1.5 이후 버 전 은 BOM 을 지원 하기 시 작 했 습 니 다.PHP 도 BOM 을 지원 하지 않 는 다 는 사실 이 밝 혀 졌 다.PHP 는 디자인 할 때 BOM 문 제 를 고려 하지 않 았 다.즉,UTF-8 인 코딩 된 파일 의 시작 부분 인 BOM 의 세 글 자 를 무시 하지 않 는 다 는 것 이다.변환->UTF-8 에서 ASCII 로 전환 하거나 다른 저장 소 에서 ASCII 인 코딩 을 선택해 야 하기 때 문 입 니 다.DOS 형식의 줄 끝 문자 라면 메모 장 으로 열 고 다른 이름 으로 저장 하 며 ASCII 인 코딩 을 선택 할 수 있 습 니 다.중국어 문자 가 포 함 된 경우 UE 의 별도 저장 기능 으로'UTF-8 BOM 없 음'을 선택 하면 된다.아래 그림 을 참고 하 십시오Bo-blog 의 위 키 설명 에 따 르 면 에 디 트 플러스 는 먼저 gb 로 저장 하고 UTF-8 로 저장 해 야 합 니 다.그러나 이렇게 하면 모든 GBK 인 코딩 에 포함 되 지 않 은 문 자 를 잃 어 버 릴 수 있 으 니 조심해 야 한다.파일 에 중국어 가 아 닌 문자 가 있다 면 이런 방법 을 쓰 지 마 세 요.이 작은 측면 에서 볼 때 UE-UltraEdite-32 는 확실히 Editplus 보다 훨씬 좋 습 니 다.Editplus 는 너무 경량급 입 니 다)그리고 워드 프레스 가 제공 하 는 파일 편집 기 를 이용 하 는 방법 을 발 견 했 습 니 다.이 방법 은 제한 을 받 지 않 습 니 다.전문 편집 기 를 다운로드 할 필요 가 없습니다.모두 워드 프레스 를 사용 하고 있 으 니까 요.먼저 ftp 에서 편집 할 파일 의 쓰기 권한 을 열 고 Wordpress 배경->관리->파일 편집기 에 들 어가 파일 을 편집 할 경 로 를 입력 하고 파일 편집 을 누 르 십시오.표 시 된 편집 인터페이스 에서 시작 하 는 세 글 자 를 볼 수 없 지만 괜 찮 습 니 다.커서 를 전체 파일 의 첫 번 째 문자 앞 에 놓 고 Backspace 키 를 누 르 십시오.OK.업데이트 파일 을 누 르 세 요.ftp 에서 새로 고침 하면 파일 이 3 바이트 작 아 져 큰 성 과 를 거 두 었 습 니 다.마지막 으로 이것 은 큰 문제 입 니 다.스스로 플러그 인 을 써 야 합 니 다.다른 사람의 플러그 인 을 편집 할 때 스스로 사용 하 는 것 입 니 다.모드 를 수정 해 야 합 니 다.(이 건 모든 사람 이 필요 할 것 같 습 니 다)위의 지식 을 알 아 보 는 것 이 좋 습 니 다.문제 가 생 겼 을 때 당황 하지 않도록 하 는 것 이 좋 습 니 다.

좋은 웹페이지 즐겨찾기