Cómo: Seleccionar y codificar para la globalización de páginas web ASP.NET

Actualización: noviembre 2007

Internamente, el código subyacente a las páginas Web ASP.NET controla todos los datos de cadena en formato Unicode. Puede establecer cómo la página codifica su respuesta, que establece el atributo CharSet en la parte Content-Type del encabezado HTTP. Esto permite a los exploradores determinar la codificación sin necesidad de una metaetiqueta o sin tener que deducir la codificación correcta a partir del contenido. También puede establecer cómo interpreta la página la información que se envía en una solicitud.

Por último, puede establecer cómo interpreta ASP.NET el contenido de la página propiamente dicha; es decir, la codificación del archivo físico .aspx en el disco. Si establece la codificación del archivo, todas las páginas ASP deben utilizar esa codificación. Notepad.exe puede guardar archivos que están codificados en la página de códigos ANSI del sistema actual, en UTF-8 o en UTF-16 (también llamado Unicode). El tiempo de ejecución de ASP.NET puede distinguir entre estas tres codificaciones. La codificación del archivo físico de ASP.NET debe coincidir con la codificación que se especifica en el archivo en los atributos de codificación de @ Page.

Nota:

Algunos diseñadores, como Visual Studio 2005, pueden guardar archivos .aspx que utilizan codificaciones diferentes.

Precaución:

Puede que el nombre de la aplicación Web no se muestre correctamente en el equipo de un usuario si el nombre utiliza un juego de caracteres de doble byte (DBCS) que no sea el idioma del sistema operativo del usuario. En las versiones anteriores de las extensiones de servidor de Microsoft FrontPage, y en las versiones 5.1 y anteriores de Servicios de Microsoft Internet Information Server (IIS), el nombre de proyecto debe coincidir también con el idioma del sistema operativo para que el servidor Web lo muestre correctamente.

Para especificar la codificación

  • Si desea establecer la codificación para todas las páginas, agregue una propiedad Globalization al archivo Web.config, y establezca sus atributos fileEncoding, requestEncoding y responseEncoding, como se muestra en el ejemplo siguiente:

    <configuration>
      <system.web>
        <globalization
          fileEncoding="utf-8"requestEncoding="utf-8"responseEncoding="utf-8"
          culture="en-US"
          uiCulture="de-DE"
        />
      </system.web>
    </configuration>
    
  • Para establecer la codificación de una página individual, establezca los atributos RequestEncoding y ResponseEncoding de la directiva @ Page, como se muestra en el ejemplo siguiente:

    <%@ Page RequestEncoding="utf-8" ResponseEncoding="utf-8" %>
    
    Nota:

    No puede establecer el atributo fileEncoding, ya que se aplica al propio archivo.

Vea también

Otros recursos

Globalización y adaptación en ASP.NET