본문 바로가기
지속가능티끌/웹,워드프레스

워드프레스 테마에 공백 생기는 오류 해결 - php 파일 인코딩을 UTF-8 BOM없는것으로 해야함.

by i.got.it 2014. 10. 24.

 

  개요.
   
  본 글은 워드프레스에서 발생하는 흔한 오류중의 하나인 테마의 상단에 공백 생기는 오류를 해결한다.
1. 워드프레스 테마에 공백 오류 증상과 원인을 설명하고,
2. 1의 문제를 해결하기 위하여 php 파일을 BOM 이 부착되지 않은 UTF-8 로 만드는 것으로 해결한다.
3. BOM 없는 UTF-8 인코딩으로 PHP파일을 만들 때 사용하는 프로그램은 Notepad++ 를 이용하는 것으로 한다.
   

 

 

 

 

   1. 워드프레스 테마 공백 오류 증상 및 원인.
   
  1. 테마의 공백 오류 증상.
워드프레스에 플러그인을 설치하든지 혹은 직접 테마를 만드는 과정에서 간혹 아래 그림과 같이 테마의 상단 (붉은박스부분)에 공백이 끼어드는 경우가 있다.
이와 같은 테마에서의 공백오류는  워드프레스 관리자 페이지에서도 나타난다.  






2. 공백 오류 발생 원인.
워드프레스 테마에 공백 오류의 원인은 플러그인이나 테마에서 사용되는 템플릿 php 파일의 인코딩 방식때문에 발생하는 경우가 있다.


위의 그림에서의 오류가 발생한 상황은 테마에 functions.php 파일을 PC의 메모장에서 UTF-8 로 저장하여 워드프레스 테마 폴더에 다시 업로드한 경우 발생하는 오류 증상이었다.
 
php 파일의 인코딩은 UTF-8 로 해야하는데, 문제는 UTF-8 이라고 해도 BOM (Byte of Mark)이 부착된것이 있고 BOM이 없는 것이 있다.
유닉스운영체제에서는 BOM이 부착된 UTF-8  파일인 경우 이를 처리하지 않는것 같다.
따라서, 유닉스(리눅스) 운영체제에 워드프레스가 설치되어 작동되는 경우 BOM 부착된 UTF-8 로 인코딩된 php 파일은 테마에서 보일 때 공백으로 처리되는 오류가 발생한다.
   

 

 

 

 

 

  2.문제 해결.
   
  php 파일의 인코딩을 BOM이 없는 UTF-8 로 해야한다.


윈도우의 메모장 같은 경우 UTF-8 로 저장시 BOM이 부착된 형식으로만 저장 가능하므로,


BOM이 부착되지 않은 UTF-8 로 인코딩된 php 파일을 만들면 문제가 해결된다.


BOM부착되지 않은 UTF-8 형식으로 저장 가능한 프로그램으로 Notepad++ 가 사용하기 편하다.


Notepad++ 설치 정보는 별도로 정리해뒀다. 보기 -> http://igotit.tistory.com/139



2021년 11월 2일 추가 

Visual Studio Code 에서도 BOM 없는 UTF-8, BOM 있는 UTF-8 형식 모두 지정가능하므로 Notepad++ 보다 더 활용하기 좋았음. 

2022년 1월 27일 추가 

윈도우 10 운영체제에 있는 메모장이 파일저장 인코딩 종류가 늘어났고(아래그림 ),기본 저장 인코딩이 BOM 없는 UTF-8 로 되어있다. Notepad 나 VSC 아니어도 간편하게 파일 인코딩 UTF-8 가능함.  








Notepad++ 에서 php 작업시 인코딩 을 UTF-8(BOM없음) 로 설정한다. (아래 그림 붉은 박스)




Notepad++ 에서 인코딩 방식을 UTF-8 (BOM 없음) 로 설정하고 php파일을 새로 만들어서 워드프레스 테마 사이트에 올리면 공백은 사라지고 정상적인 테마가 보인다. (아래그림에서 보듯이 공백은 사라지고 정상화 되었다.)





- 워드프레스 테마 공백오류 해결. php 파일을 BOM없는 UTF-8 인코딩형식으로 만들어야 해결됨.

 

 

 

 

 

 


첫 등록 : 2014.10.24

최종 수정 : 2022.1.27

단축 주소 : https://igotit.tistory.com/140


 

 

댓글



 

비트코인




암호화폐       외환/나스닥/골드         암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)         프랍 트레이더 온라인 지원가능. MT4,MT5