'asp'에 해당되는 글 22

  1. 2009.05.04 [asp] 한글 인코딩
IT_Expert/WebProgramming | Posted by 낫기법필 2009. 5. 4. 17:20

[asp] 한글 인코딩

안녕하세요...

다음과 같은 코딩이면 당연히 한글이 깨집니다... 

이유는 모든 설정이 UTF-8 로 설정 되어있으니 당연히 한글이 깨질수 밖에요.... 

한국어 문서를 제공하는 웹 사이트에서 흔히 쓰는 문자 인코딩은 EUC-KR 입니다.

<%@  codepage="65001" language="VBScript" %>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Session.CodePage = 65001
Response.ChaRset = "utf-8"

위의 4줄의 소스 전부 다 해당 페이지를 유니코드 (UTF-8) 로 출력하겠다는 뜻으로

크게 보면 같은 기능을 합니다. 

하지만 세부속성이 약간의 차이가 있습니다만... 세부속성은 직접 공부하시는게...^^;

세부속성을 설명하려면... 내용이 상당히 길어지기때문에....

세부속성을 페이지 / 메타 데이터 / 세션 / 객체의 속성에 지정함에 따라서 구문상의 표현 차이가 있는겁니다.

(크게 보면 소스 4줄 같은 기능을 한다고 보시면 됩니다... ㅡ_ㅡ;;)

자 세부적인 답변 들어갑니다. 

1. <%@  codepage="65001" language="VBScript" %>

 해당 ASP 파일의 페이지 속성을 정의 하게 되는 부분입니다.

codepage="65001" 는 UTF-8 의 속성을 나타내는 페이지 속성이라고 보심 됩니다.

 다음과 같이 페이지 속성을 수정해 주시면 될거같네요 ^^;

<%@  codepage="949" language="VBScript" %>

 대표적인 텍스트 인코딩 코드 페이지 값으로는 밑에 있는대로... 나머지는 공부하시면서 찾아보세요 ^^

0 : ANSI (기본값)

949 : 한국어 (EUC-KR)

65001 : 유니코드 (UTF-8)

65535 : 유니코드 (UTF-16)

2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

 해당 페이지의 (HTML,ASP,JSP,PHP 등) 정보를 가지고 있는 메타 태그를 설정하는 부분입니다.

메타 태그의 속성을 charset=utf-8" 으로 정해 주셨기 때문에 한글이 깨지는 현상이 발생합니다.

 다음과 같이 메타 태그의 문자코드 세트명을 변경해 주시면 될거같네요....

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

  3. Session.CodePage = 65001

 Session.CodePage는 현재 세션 사용자의 동적 텍스트 인코딩 코드를 설정합니다.

코드 페이지를 설정함... 문자세트를 결정하는 정수를 값으로 받네요 ^^;

 다음과 같이 코드 페이지를 설정하면 될거같네요 ^^;

Session.CodePage = 949

 
 
4. Response.ChaRset = "utf-8" 
 
ASP의 response.charset을 이용해서 문자 코드 세트명을 지정하는 부분 입니다.
설정시 <html> 태그 보다 앞에 선언 되어야 HTML 이 출력되면서 해당 속성을 인식하게 됩니다.
 
다음과 같이 문자 코드 세트명을 변경해 주시면 될거같네요 ^^;
Response.ChaRset = "EUC-KR" 
 
 
글쓰는 재주가 없어서 설명이 어렵게 된거 같아서 죄송하네요 ㅠ_ㅠ
소스 저렇게만 바꺼주시면 한글 깨지는 문제는 해결 될거같습니다.
즐프 하세요 ^^

출처 : 나오키 니시자와의 ASP 사전 및 개인 지식

[출처] http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10112&eid=GrDf0+qD960c+Or46apciTobOH+qOt53&qb=YXNwIOyduOy9lOuUqQ==&enc=utf8&pid=fQDgdwoi5U4ssZKeZVVsss--411779&sid=SflSeEZQ@UkAADXOMNs