2012-02-29 11 views
6

¿Cómo puedo configurar *.asp archivos (ASP clásico) en un sitio web bajo IIS para tener respuesta ¿El tipo de contenido del encabezado está establecido en text/html;charset=UTF-8? En este momento, los archivos se sirven como Content-Type=text/html.IIS 6 - ASP clásico - Establece el tipo de contenido del encabezado de respuesta * asas a "text/html; charset = UTF-8"

Un enfoque alternativo es agregar <% Response.Charset = "UTF-8" %> a cada página, pero me pregunto si hay una forma de hacerlo globalmente.

Gracias! -K

Respuesta

3

No hay forma de especificar globalmente el CharSet para una aplicación.

En realidad, hay algo más que decirle al cliente que obtiene UTF-8. También debe asegurarse de que el objeto de respuesta esté configurado en la página de códigos 65001. Esto al menos se puede establecer globalmente utilizando el valor de la metabase AspCodePage en el nivel de la aplicación (o directamente en la función ASP en el administrador IIS7).

Sin embargo, mi preferencia con este tipo de cosas es evitar que el servidor se configure correctamente. Cada página establece su página de códigos (ya sea con la directiva @CODEPAGE o con Response.Codepage) y su CharSet.

Tengo dos razones para este enfoque. Una de ellas es que, en última instancia, el CharSet/Codepage es una elección realizada en el momento de crear y guardar el archivo. El otro es que al depilar/copiar el sitio, menos debes recordar para configurar mejor.

+0

Para aquellos que puedan haber llegado aquí buscando establecer 'CharSet' globalmente para una aplicación ** ASP.NET **, este *** es *** posible. Vea el elemento ['' en Web.config] (http://msdn.microsoft.com/en-us/library/39d1w2xf.aspx). Además, en ASP.NET, 'CodePage' 65001 es el valor predeterminado. ('CodePage' rige cómo ** el código fuente de ASP.NET ** se procesa en el servidor **.' CharSet' rige qué codificación de caracteres (por ejemplo, UTF-8) ** se devuelve al cliente **.) – DavidRR

5

EDIT 1: He probado esto con herramientas de desarrollo de IE9 (ficha de red),

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

resultados en una cabecera HTML para Content-Type de:

text/html;charset=UTF-8 

Mientras , establecerlo en el nivel MIME en IIS7 no lo hace - actualizaré mi respuesta cuando descubra por qué.

EDIT 2: No puedo obtener el enfoque global MIME para trabajar en mi plataforma de prueba - lo siento! Hay pistas de esto en línea: http://forums.iis.net/p/1166956/1941076.aspx#1941076

Supongo que tendrá que abrir el response.ContentType = "text/html;charset=UTF-8" en un tipo <!-- #include file="..\includes\common.asp" --> incluir (o similar).

+0

así que de todos modos debo modificar cada página en mi sitio? –

Cuestiones relacionadas