2012-02-29 4 views
6

IIS 아래의 웹 사이트에서 *.asp 파일 (클래식 ASP)을 Response로 설정하려면 어떻게해야합니까? 헤더의 콘텐츠 유형을 text/html;charset=UTF-8으로 설정 했습니까? 현재 파일은 Content-Type=text/html입니다.IIS 6 - 기본 ASP - * .asp 응답 헤더의 콘텐츠 형식을 "text/html; charset = UTF-8"로 설정

대체 방법은 모든 페이지에 <% Response.Charset = "UTF-8" %>을 추가하는 것이지만 전 세계적으로 그렇게할만한 방법이 있는지 궁금합니다.

감사합니다. -K

답변

3

응용 프로그램에 대해 CharSet을 전역으로 지정하는 방법은 없습니다.

실제로 클라이언트에게 UTF-8을 가져 오는 것보다 더 많은 정보가 있습니다. 또한 응답 오브젝트가 65001 코드 페이지로 구성되었는지 확인해야합니다. 적어도 응용 프로그램 수준에서 (또는 IIS7 관리자의 ASP 기능에서 직접) AspCodePage 메타베이스 값을 사용하여 전역 적으로 설정할 수 있습니다.

그러나 이런 종류의 일은 내 서버가 올바르게 구성되지 않도록하는 것이 좋습니다. 각 페이지는 해당 코드 페이지 (@CODEPAGE 지시문 또는 Response.Codepage)와 해당 CharSet을 설정합니다.

이 접근 방식에는 두 가지 이유가 있습니다. 하나는 궁극적으로 CharSet/Codepage가 파일을 생성하고 저장할 때 선택된다는 것입니다. 다른 하나는 사이트를 삭제/복사 할 때 구성을 기억하는 것이 더 적어야한다는 것입니다.

+0

** ASP.NET ** 애플리케이션에서'CharSet'를 전역 적으로 설정하고자하는 분들을 위해 *** ***이 가능합니다. Web.config의 [''요소 (http://msdn.microsoft.com/en-us/library/39d1w2xf.aspx)를 참조하십시오. 또한 ASP.NET에서 'CodePage'65001이 기본값입니다. ('CodePage'는 ASP.NET 소스 코드가 서버 **에서 처리되는 방식을 제어합니다. ** CharSet은 클라이언트로 반환되는 문자 인코딩 (예 : UTF-8)을 관리합니다 **.) – DavidRR

5

편집 1 :

text/html;charset=UTF-8 

반면 : 필자의 콘텐츠 형식에 대한, IE9 개발자 도구 (네트워크 탭)와 HTML 헤더에

<% 
response.ContentType = "text/html;charset=UTF-8" 
%> 

결과이 테스트 IIS7의 MIME 수준에서 설정하지 않습니다. 이유를 파악할 때 대답을 업데이트 할 것입니다.

편집 2 : 내 테스트 장비에서 작동하는 전역 MIME 접근 방식을 사용할 수 없습니다. - 죄송합니다! 이 온라인의 힌트가 있습니다 : http://forums.iis.net/p/1166956/1941076.aspx#1941076

나는 형식의 포함 (또는 이와 유사한 것)으로 response.ContentType = "text/html;charset=UTF-8"을 방금 팝해야한다고 생각합니다.

+0

어쨌든 내 사이트의 모든 페이지를 수정해야합니까? –