본문 바로가기

카테고리 없음

[PHP] &#65279 공백 문제 해결

문제

PHP 또는 HTML에서 출력 문자열의 앞에 &#65279 공백이 붙는다. 예를 들어 "1234"를 출력했는데, 파싱 후 문자열의 길이를 재보면 5글자로 나타나는 문제가 있다.

원인

UTF-8 (BOM)으로 인코딩이 되어 앞에 &#65279 기호가 붙는 것이다. UTF-8 (BOM 없음)으로 인코딩 해 주면 해결이 된다.

해결 방법

  • Notepad ++을 사용한다.
    • Notepad ++에서는 간편한 인코딩 변환을 지원한다.
  • Header를 추가한다.
    • PHP 코드에서 다음과 같은 Header를 추가하면 UTF-8으로 인코딩이 된다. 
    • <?php
      	header('Content-Type: text/html; charset=UTF-8');
      ?>
  • Parser(클라이언트)에서 앞글자 하나를 제거한다.
    •  
    • 이 방법은 UTF-8 (BOM) 인코딩을 유지하여야 할 때 사용한다.