최근 공동 개발 프로젝트에서 PHP의 출력이 완전히 동일하다는 것을 항상 발견했습니다. 나중에 인코딩에 문제가 있다고 생각했는데 모두 UTF-8이었습니다. 결국 파일 내용을 삭제해 보니 아직 3글자 크기가 남아 있는 것을 발견했습니다. vim을 사용하여 - b 명령을 열어보니
나중에 알고 보니 이게 utf-8의 BOM인데, 역겨운 건 BOM이 에코와 함께 출력되어 오류가 발생한다는 점입니다.
몇 가지 명령을 첨부하여 BOM을 찾아 제거하세요
vim에서:
Java 코드
#UTF-8 인코딩 설정
:set fileencoding=utf-8
#BOM 추가
:폭탄 설정
#BOM 삭제
:nobomb 설정
#Query BOM
:set Bomb?
grep:
Java 코드
// 검색
grep -I -r -l $'xEFxBBxBF' /path
//대체
grep -I -r -l $'xEFxBBxBF ' /경로 | xargs sed -i 's/^xEFxBBxBF//g'