반응형

 


웹개발을한다면 누구나 한 번 쯤은 외계어현상 ( 한글 깨짐 ) 을 경험합니다.

이는 파일의 인코딩 방식과 웹 브라우저가 사용하는 인코딩 방식이 서로 달라서 나타나는 문제로

하나의 인코딩 방식으로 통일 해 주어야 합니다.

 

현재 한국에서 사용되는 인코딩 방식으로는 크게 euc-kr 방식과 UTF-8 방식이 있습니다.

euc-kr 방식은 원래 영어만을 고려한 1byte 길이의 ASCII 라는 인코딩 방식을 확장하여

한글을 사용할 수 있도록 만든 2byte 길이의 국가 언어 코드입니다.
국가 언어코드. 즉 우리나라에서만 쓸 수 있도록 만든 코드이며 세계 어디에서나 공통으로 사용되는 인코딩 방식이 아니기 때문에, 다른 언어를 사용하는 환경(외국 등)에서는 한글 페이지를 제대로 볼 수 없는 문제가 발생합니다.

 

이를 해결하기 위해 새로운 인코딩 방식이 개발되었는데, 그중 가장 보편화된 인코딩이 UTF-8입니다. (3byte)
예전에는 용량이 작은 euc-kr 방식을 선호하는 곳들도 많았으나,

현재는 용량 문제보다 표준화 및 글로벌 환경을 고려해야 하므로 UTF-8 인코딩 방식을 강력하게 권고하는 바입니다.

 

열심히 코딩해서 실행시킨 결과물이 외계어일 때 기분은.....

그래서 준비했습니다!

 

 

 

이클립스 및 STS 기본 인코딩 변경법

 

 

최신 IDE(통합 개발 환경)를 사용 하신다면, 기본적으로 인코딩 방식은 UTF-8로 설정이 되어 있을 것입니다.
하지만 Windows 운영체제는 기본 인코딩 값으로 여전히 euc-kr방식을 사용하기 때문에, 이 페이지가 UTF-8 방식으로 인코딩 되었음을 알려야 합니다.

 

 

 

1. 이클립스 및 STS 의 상단 메뉴에서

Window -> Preferences

 

 

 

 

2. 왼쪽 카테고리 [General] -> [Workspace] 를 클릭한다.

Workspace 화면에서 Other 탭을 UTF-8로 설정 후 Apply 버튼을 클릭한다.

 

 

 

 

 

3. 왼쪽 카테고리 [Web] - > [CSS Files] 를 클릭한다.

Encoding 탭을 UTF-8로 설정 후 Apply 버튼을 클릭한다.

 

 

 

 

 

4. 왼쪽 카테고리 [Web] -> [HTML Files] 를 클릭한다.

Encoding 탭을 UTF-8로 설정 후 Apply 버튼을 클릭한다.

 

 

 

 

 

5. 왼쪽 카테고리 [Web] -> [JSP Files] 를 클릭한다.

Encoding 탭을 UTF-8로 설정 후 Apply 버튼을 클릭한다.

 

 

 

 

 

6. [General] -> [Content Types] 를 클릭한다.

Contents types의 Text를 클릭하고

Default encoding 에 UTF-8 입력 후 Update 버튼을 클릭한다,

Apply and Close 로 적용하고 종료.

 

 

 

 

 

 

7. 프로젝트의 

src -> main -> webapp -> WEB-INF -> web.xml  파일에 한글 필터를 추가합니다!

 

 

 

<filter> 
    <filter-name>encodingFilter</filter-name> 
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
    <init-param> 
       <param-name>encoding</param-name> 
       <param-value>UTF-8</param-value> 
    </init-param> 
    <init-param> 
       <param-name>forceEncoding</param-name> 
       <param-value>true</param-value> 
    </init-param> 
 </filter> 
 <filter-mapping> 
    <filter-name>encodingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
 </filter-mapping> 

 

 

 

8. 마지막으로 사용하는 jsp 상단부에 디렉티브를 추가합니다.

 

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

 

 

 


 

이제 정상적으로 한글이 표시됩니다.

 


 

이상입니다.

 

좋은 하루 보내세요.

 

반응형

+ Recent posts