Charset 속성은 문자 집합 이름(예: ISO-LATIN-7)을 응답 개체의 content-type 헤더에 추가합니다.
Response.Charset(CharsetName)
이 기능을 사용하면 유효한 문자 집합이든 아니든 헤더에 문자열을 삽입할 수 있습니다.
한 페이지에 Response.Charset을 포함하는 태그가 여러 개 있으면, 각 Response.Charset은 이전 CharsetName을 대체합니다. 그 결과 문자 집합은 해당 페이지에서 Response.Charset 인스턴스가 마지막에 지정한 값으로 설정됩니다.
웹 페이지의 코드 페이지가 웹 클라이언트의 시스템 기본 페이지와 일치하면 웹 페이지에서 코드 페이지를 설정할 필요가 없습니다. 그러나, 코드 페이지 설정을 권장합니다.
Response.CodePage, Session.CodePage, @CodePage 또는 AspCodePage 메타베이스 속성을 사용하여 코드 페이지를 설정한 경우, Response.Charset도 사용해야 합니다. IIS는 응답 메시지를 작성할 때 코드 페이지 값으로 인코딩하는 방법을 결정하며, 브라우저는 응답 메시지를 표시할 때 문자 집합 값으로 디코딩하는 방법을 결정합니다. Response.Charset의 CharsetName은 반드시 코드 페이지 값과 일치해야 합니다. 그렇지 않으면 혼합된 문자가 브라우저에 표시됩니다. CharsetNames 목록과 일치하는 코드 페이지 값에 대한 내용은 Preferred Charset Label 및 FamilyCodePage 열 아래 있는 MSDN Web Workshop을 참조하십시오.
예를 들어, 다중 언어 웹 사이트를 만들기 위해 다른 로케일, 코드 페이지, 문자 집합을 사용하여 웹 페이지를 만들어 테스트하려면 반드시 표시하려는 각 언어에 대한 언어 팩을 테스트 클라이언트에 설치해야 합니다. 제어판의 국가별 옵션에서 언어 팩을 설치할 수 있습니다.
Macintosh의 경우 문자 집합의 기본값은 ISO-LATIN-1이 아니라 U.S.입니다. 문서를 처리할 때 Macintosh용 개인 웹 서버는 Macintosh 문자 집합을 ISO-LATIN-1로 자동으로 변환합니다. U.S. 버전에서 모든 페이지는 Response.Charset을 사용하지 않는한 U.S. Macintosh 문자 집합으로 사용하는 것을 전제로 합니다. Response.Charset을 사용하여 문자 집합을 변경하면 Macintosh용 개인 웹 서버는 문자 집합을 변환하지 않습니다.
Response.Charset 속성을 포함하지 않는 ASP 페이지의 경우 content-type 헤더는 다음과 같습니다.
content-type:text/html
동일한 .asp 파일이 포함될 경우
<% Response.Charset= "ISO-LATIN-7" %>
content-type 헤더는 다음과 같습니다.
content-type:text/html; charset=ISO-LATIN-7