Pregunta

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="conn.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

¿Es correcto el código anterior?

¿Fue útil?

Solución

Sí.

UTF-8 es CP65001 en Windows (que es solo una forma de especificar UTF-8 en el material de la página de códigos heredada). Por lo que he leído, ASP puede manejar UTF-8 cuando se especifica de esa manera.

Otros consejos

Su código es correcto, aunque prefiero configurar el CharSet en el código en lugar de usar la metaetiqueta: -

<% Response.CharSet = "UTF-8" %>

La página de códigos 65001 se refiere al juego de caracteres UTF-8. Debería asegurarse de que su página asp (y cualquier inclusión) se guarde como UTF-8 si contienen caracteres fuera del conjunto de caracteres ASCII estándar.

Al especificar el atributo CODEPAGE en el bloque <% @, indica que todo lo escrito con Response.Write debe codificarse en la página de códigos especificada, en este caso 65001 (utf-8). Vale la pena tener en cuenta que esto no afecta ningún contenido estático que se envía literalmente byte por byte a la respuesta. De ahí la razón por la cual el archivo debe guardarse realmente usando la página de códigos que se especifica.

La propiedad CharSet de la respuesta establece el valor CharSet del encabezado Content-Type. Esto no tiene impacto en cómo se codifica el contenido, simplemente le dice al cliente qué codificación se está recibiendo. Nuevamente, es importante que su valor coincida con la codificación real enviada.

Sí, 65001 es el identificador de página de códigos de Windows para UTF-8, como se documenta en el sitio web de Microsoft . Wikipedia sugiere que la página de códigos de IBM 128 y la página de códigos de SAP 4110 también son indicadores para UTF-8.

response.codepage = 65001

parece dar un mal resultado cuando el archivo físico se guarda como utf-8

De lo contrario, funciona como se supone que debe hacerlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top