웹 개발시 인코딩문제

2014. 10. 27. 11:06 - Song's IT

우선, 인코딩의 사전적인 정의는 다음과 같습니다.

인코딩은 문자나 기호들의 집합을 컴퓨터에서 저장하거나 통신에 사용할 목적으로 부호화하는 방법을 가리킨다. 문자 인코딩을 통해 부호화되어, 복호화하면 본래의 문자나 기호를 뜻하게 되는 부호를 문자 코드라고 한다.


말 그대로 다양한 언어 간 소통을 편하게 하기위해 코드화(문자화)를 한다는 뜻입니다.


파라미터를 서버로 전송 시 혹은 응답받을 때 글자가 깨지는 현상이 빈번히 발생합니다.

이때 발생할 수 있는 인코딩문제의 원인은 다음과 같습니다.

1) 클라이언트 측 인코딩 (ex. JSP Page인코딩 설정)

2) 서버 측 인코딩 (ex. Tomcat Server인코딩 설정)

3) 데이터베이스 측 인코딩 (ex. Oracle인코딩 설정)


클라이언트 측 인코딩은 사용자의 화면에 렌더링되어 보여지는 페이지의 인코딩을 의미합니다.

예를들어 JSP기반 웹 애플리케이션에서는 JSP페이지 파일의 인코딩을 설정해 주어야 합니다.

▲ JSP페이지 인코딩 설정




일반적으로 서버는 그에 상응하는 설정파일이 존재합니다.

Tomcat을 예로 들어보겠습니다.

Tomcat폴더 내 Conf라는 폴더가 있습니다.

해당 폴더에는 Server.xml이라는 설정파일 내부에는 해당 웹 서버가 사용할 포트 등 다양한 설정이 xml형태로 존재합니다.


예를들어 GET방식으로 특정 게시물을 검색하는 경우 해당 파라미터는 URL에 포함되어 전송됩니다. 이때, 전체 인코딩을 UTF-8로 통일하는 개발환경에서는 Server.xml파일의 인코딩 설정 또한 UTF-8로 설정해주어야 합니다.

▲ Tomcat서버 인코딩 설정


마지막으로 데이터베이스 측 인코딩은 데이터베이스 내 데이터가 저장될 때 사용되는 인코딩 형식입니다.

Oracle데이터베이스 관련 인코딩 설정은 아래 포스팅을 가시면 자세히 보실 수 있습니다.

http://secuinfo.tistory.com/entry/WEB-Server-14




'Development' 카테고리의 다른 글

class to java  (0) 2019.09.05

다른 카테고리의 글 목록

Development 카테고리의 포스트를 톺아봅니다