convertir utf-8 en iso-8859-1 en asp clásico

Mi sitio ahora funciona exclusivamente en UTF-8, pero para enviar un SMS usando serverXMLHTTP necesito convertir mi mensaje de UTF-8 hasta ISO-8859-1 antes de enviarlo.

La situación es paralela a esto:

a.asp:

   

y luego b.asp

    

En este showcase esperaría ver la misma cadena en b.asp cuando envíe i a.asp pero lo que obtengo es esto:

 æøå and ÆØÅ 

¿Algunas ideas?

Su manejo de la encoding del lado del cliente pero no del lado del servidor

Realmente depende de la configuración de su servidor en cuanto a cómo ASP maneja las solicitudes del servidor.

Hay dos partes para tratar cómo IIS codifica las respuestas;

  • ¿Qué es el archivo físico (b.asp) codificado como ( UTF-8 , Windows-1252 , Western European (ISO) etc.). Siempre que el procesamiento de la página de códigos coincida con el archivo ASP, esto no debería ser un problema (personalmente prefiero usar UTF-8 y en las versiones de IIS más nuevas esta es la predeterminada).

  • ¿Con qué página de código se espera que se procese CodePage? ( <%@ CodePage %> )

Puede usar el siguiente fragmento de código en una página de prueba para determinar cuáles son los valores predeterminados de su servidor;

 <% 'Check how the server is currently encoding responses. Call Response.Write(Response.Charset) Call Response.Write(Response.CodePage) %> 

Para que la muestra siguiente funcione correctamente, b.asp deberá guardarse como 65001 (UTF-8); si está utilizando Visual Studio, esto se puede hacer utilizando el cuadro de diálogo “Opciones avanzadas de guardado” (no se muestra en el menú; para agregar usando las opciones del menú Personalizar).

 <%@Language="VBScript" CodePage = 65001 %> <% 'IIS should process this page as 65001 (UTF-8), responses should be 'treated as 28591 (ISO-8859-1). Response.CharSet = "ISO-8859-1" Response.CodePage = 28591 %> 
    Intereting Posts