El problema fundamental es el impacto de Response.Codepage en las publicaciones del formulario.
Cuando envía un formulario a un cliente especificando que el contenido está codificado como UTF-8, el navegador asumirá que el contenido de las publicaciones del formulario debe enviarse codificado como UTF-8.
Ahora la página de acción que recibe el mensaje será (un tanto contra-intuatively) utilizar el valor de Response.Codepage
que le informe de cómo se codifican los caracteres en el puesto. Esto no es obvio porque tendemos a pensar que es el trabajo del remitente definir la codificación de lo que está enviando. Tampoco es un salto natural pensar que una propiedad que tenga que ver con la codificación de lo que queremos enviar en nuestra respuesta tendría algo que ver con la forma en que se recibe la solicitud inicial. En este caso, sí.
Cuál es su forma está publicando una versión codificada UTF-8 del carácter pero la página que recibe no tiene su respuesta.Página de códigos establecida en 65001 (la página de códigos UTF-8). Su probablemente ajustado a la página de códigos OEM como los sistemas de 1252. De ahí que la codificación UTF-8 para el personaje es interpretado como dos caracteres individuales.
Mis recomendaciones para el buen carácter de manipulación en ASP son: -
- Guardar todas las páginas como UTF-8
- Incluir <% @ página de códigos = 65001 en la parte superior de todas las páginas
- Incluir <% Response.CharSet = "UTF-8" %> en la parte superior todas las páginas
- tienda registró datos en un tipo de campo unicode como SQL tipo Servidores NVARCHAR.
Lo importante aquí es que antes de leer los valores de formulario en una página ASP necesita asegurarse de que Response.Codepage esté configurado en una página de códigos que coincida con la codificación de remitentes y esto no sucede automáticamente.
Pardon la objeción, pero no puede ser la lectura del texto en formato ASCII ASCII porque no es compatible con las letras acentuadas o el símbolo de derechos de autor. Tiene que estar usando una codificación de ocho bits como ISO-8859-1 o Windows-1252. –