Intentando hacer mi primera página ASP.NET. Tengo IIS 5.1 en XP, configurado para ejecutar .NET 4. Creé un nuevo directorio virtual y agregué un archivo .aspx. Cuando navego por el archivo, los caracteres que no son ASCII están dañados. Por ejemplo, un ü (U + 00FC) se transforma en ü (U + 00C3 U + 00BC), que es el equivalente a I-don't-get-this-is-UTF-8.¿Necesito web.config para caracteres que no sean ASCII?
He intentado varias maneras de hacer uso de este:
- que se aseguró el archivo .aspx de hecho se codifica como UTF-8.
puse la etiqueta meta:
<meta charset="UTF-8">
que establezca el directorio virtual para manejar .aspx como
text/html;charset=utf-8
bajo encabezados HTTP> Tipo de archivo en IIS.- He añadido
ResponseEncoding="utf-8"
a<%@ Page ... %>
. - He insertado la cadena en
HttpUtility.HtmlEncoded()
. Ahora el ü se transformó en à ¼ (U + 00C3 U + 00BC).
Por último, me encontré con 2 maneras que trabajaron:
- Sustitución de caracteres no ASCII con las referencias de caracteres, tales como
ü
Esto fue buena en los años 90, hoy no. Adición de un archivo web.config para el directorio virtual, con el siguiente contenido:
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.web> <globalization fileEncoding="utf-8"/> </system.web> </configuration>
Sin fileEncoding
configuración, el analizador ASP.NET leerá el .aspx y corrupto personaje de todos los que no son ASCII sin intentar inferir la codificación del archivo. ¿Es esto algo con lo que los profesionales han aprendido a vivir, o me estoy perdiendo algo? ¿Es un archivo web.config con configuración de globalización la forma de manejar caracteres "internacionales" en páginas .aspx? No recuerdo haber tenido problemas similares con PHP, así que estoy desconcertado sobre por qué esto surge con ASP.NET.
he encontrado otra manera de hacer que funcione sin el archivo web.config: Guardar la página .aspx como UTF-8 con byte-order-mark (BOM). En general, UTF-8 no debería necesitar una BOM, ya que el orden de bytes está implícito en la codificación, pero Microsoft tiene una tradición de requerirlo, lo cual es probablemente lo correcto, ya que hace inferir la codificación del archivo más robusto. Supongo que este es el tipo de solución que estaba buscando, pero los comentarios siguen siendo bienvenidos. –
Debería considerar la instalación del instalador de plataforma web de Microsoft y el uso de IIS express 7.5 y la matriz web o VS 2010 express – Aviatrix