티스토리 뷰

반응형

Classic ASP에서 EUC-KR이나 UTF-8 사용 시 페이지 설정방법에 대해서 알아보겠습니다. 초기 Classic ASP 생성시기에는 ANSI 인코딩을 대부분 사용했기 때문에 오래된 Classic ASP 페이지는 EUC-KR로 개발되어 있기도 합니다. 하지만 요새는 유니코드 형식인 UTF-8을 대부분 사용하고 있기 때문에 유지보수 시에 다른 인코딩으로 인해 한글 깨짐 현상이 일어나는 경우가 있습니다.

 

이런 경우 파일의 인코딩 방식과 상단에 ASP 구문을 몇 줄 추가해주면 한글깨짐 현상을 해결할 수 있습니다. 먼저 파일 인코딩 방식의 경우 대부분의 에디터에 인코딩 방식을 수정하는 기능이 있기 때문에 EUC-KR를 사용하는 경우에는 ANSI 인코딩, UTF-8을 사용하는 경우에는 UTF-8을 설정해주시면 됩니다.

 

다음 단계인 상단 ASP 구문은 간단한 예제들을 보면서 확인해보겠습니다.

<%@ Language="VBScript" CodePage=949 %>
<%
Response.CodePage = 949
Response.CharSet = "EUC-KR"
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>EUC-KR Example</title>
</head>
<body>
<%
Dim name
name = "홍길동"
%>
<h1>환영합니다, <%=name%>님!</h1>
<p>안녕하세요, EUC-KR 인코딩을 사용하는 예제입니다.</p>
</body>
</html>

첫 번째 줄인 <%@ Language="VBScript" CodePage=949 %>은 Classic ASP 페이지의 스크립트 언어와 코드 페이지를 설정하는 부분입니다.

<%@ Language="VBScript" %>은 Classic ASP 페이지에서 사용할 스크립트 언어를 지정합니다. 이 경우 "VBScript"를 사용하고 있으며, VBScript는 Classic ASP의 기본 스크립트 언어입니다. 다른 스크립트 언어인 "JScript" 등을 지정할 수도 있습니다. CodePage=949은 Classic ASP 페이지의 코드 페이지를 설정하는 부분입니다. 949는 EUC-KR을 나타내는 코드 페이지 값입니다. CodePage 값을 설정함으로써 해당 페이지에서 사용되는 문자 인코딩을 지정할 수 있습니다.

 

그 다음 줄에 나오는 <% Response.CodePage = 949  Response.CharSet = "EUC-KR" %> 부분은 Classic ASP 페이지에서 인코딩을 설정하는 데 사용되는 코드입니다. 이 두 줄은 서버의 응답에 대한 코드 페이지와 문자 집합을 지정합니다.

 

상단에 다음 세 줄을 적어준 ANSI 인코딩 파일에 선언해주면 한글깨짐 현상을 해결할 수 있습니다..

<%@ Language="VBScript" CodePage=949 %>
<%
Response.CodePage = 949
Response.CharSet = "EUC-KR"
%>

마찬가지로 html 에서도 charset을 선언하는 메타태그 부분도 EUC-KR을 신경써주면 됩니다.

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

그렇다면 UTF-8의 경우는 어떻게 해야할까요? 파일 저장 시 UTF-8 인코딩 형식인지 확인한 뒤 EUC-KR을 UTF-8로 코드 페이지 값을 65001로 변경해주면 됩니다.

<%@ Language="VBScript" CodePage=65001 %>
<%
Response.CodePage = 65001
Response.CharSet = "UTF-8"
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>UTF-8 Example</title>
</head>
<body>
<h1>Hello, 안녕하세요, 你好</h1>
<p>This is an example using UTF-8 encoding.</p>
</body>
</html>

위 예제를 보시면 추가 설명이 필요없을 것 같습니다. 가장 좋은 건 전체 페이지를 UTF-8 인코딩 형식을 사용하는 방법이겠지만 상황이 여의치 않을 경우 유용하게 사용하시길 바라겠습니다.

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함