서버측 언어가 ASP.NET을 사용하는 경우 만약 한글 깨짐 현상이 발생한다면? 아마도 인코딩(encoding) 설정이 잘못 된 경우일 수 있습니다. 이 경우 어떻게하면 한글 깨짐을 해결할 수 있는지 몇 가지 해경방법을 알아보도록 하겠습니다.

먼저 인코딩 설정은 하나의 페이지에 적용하는 페이지 단위 적용방법과 전체 페이지 적용 방법으로 구분할 수 있습니다. 우선 페이지 단위로 설정하는 싱글 페이지 방법입니다.



# ASP.NET 페이지 단위 인코딩을 설정 방법보여줄 하나의 페이지... 페이지 단위로 인코딩을 설정하는 방법입니다. 이 경우 아래와 같이 코드를 페이지 최상단에 추가합니다. 반드시 페이지 제일 위에 위치해야 정상 동작됩니다.

@ 1번 방법
<%@ Page RequestEncoding="utf-8" ResponseEncoding="utf-8" %>

@ 2번 방법
<%@Language="VBScript" CODEPAGE="65001"%>
<% Response.CharSet = "utf-8" %>
 
1번 방법이 안될 경우 2번 방법을 시도하도록 합니다.



# 전역 페이지, 전체 웹에 설정하는 방법웹 어플리케이션 전체에 반영하기 위해서는 Web.config 파일에 아래의 코드를 추가하는 방법이 있습니다. 작성된 파일의 인코딩에 맞추어 아래의 코드를 추가합니다. utf-8 그리고 euc-kr 방법입니다.

@ UTF-8인 경우
<system.web>
    <globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="ko-KR" uiCulture="ko-KR"/>
</system.web>

아래는 euc-kr로 인코딩 설정된 경우입니다.

@ EUC-KR인 경우
<system.web>
    <globalization fileEncoding="euc-kr" requestEncoding="euc-kr" responseEncoding="euc-kr" culture="ko-KR" uiCulture="ko-KR"/>
</system.web>



# 마치면서한글깨짐과 같은 문제는 매우 자주 나타나는데 웹에서는 위와같이 인코딩 설정이 반드시 필요합니다. 인코딩 문제는 어디서든 나타날 수 있어 다양한 측면에서 확인과 수정이 필요합니다. 일반적으로 서버측 인코딩 설정이 누락된 경우가 가장 많겠지만 파일의 인코딩 문제일 수도 있고 아니면 데이터베이스에 설정된 인코딩이 달라 나타날 수도 있습니다. 하지만 가장 먼저 확인할 부분은 바로 서버측 환경입니다.