Comment : sélectionner un codage pour la globalisation des pages Web ASP.NET
Mise à jour : novembre 2007
Le code sous-jacent des pages Web ASP.NET gère, en interne, toutes les données de chaîne comme des données Unicode. Vous pouvez définir comment la page code sa réponse, ce qui définit l'attribut CharSet sur la partie Content-Type de l'en-tête HTTP. Ainsi, les navigateurs sont en mesure d'identifier le codage sans balise meta ou sans devoir deviner le codage correct à partir du contenu. Vous pouvez également définir comment la page interprète les informations qui sont envoyées dans une demande.
Enfin, vous pouvez définir comment ASP.NET interprète le contenu de la page, en d'autres termes, le codage du fichier physique .aspx sur le disque. Si vous définissez le codage du fichier, toutes les pages ASP doivent utiliser ce codage. Notepad.exe peut enregistrer des fichiers qui sont codés dans la page de codes ANSI actuelle du système dans UTF-8 ou dans UTF-16 (également appelé Unicode). Le runtime ASP.NET peut distinguer entre ces trois codages. Le codage du fichier physique ASP.NET doit correspondre au codage qui est spécifié dans le fichier dans les attributs de codage @ Page.
Remarque : |
---|
Quelques concepteurs, tels que Visual Studio 2005, peuvent enregistrer des fichiers .aspx qui utilisent des codages différents. |
Attention : |
---|
Le nom de l'application Web peut ne pas s'afficher correctement sur l'ordinateur d'un utilisateur, si le nom utilise un jeu de caractères codés sur deux octets (DBCS) qui n'est pas le langage du système d'exploitation de l'utilisateur. Sur les versions antérieures d'extensions serveur de Microsoft FrontPage et sur les versions 5.1 et antérieures de Microsoft Internet Information Services (IIS), le nom du projet doit également correspondre au langage du système d'exploitation pour le serveur Web pour s'afficher correctement. |
Pour spécifier le codage
Pour définir le codage pour toutes les pages, ajoutez une propriété Globalization au fichier Web.config, puis définissez ses attributs fileEncoding, requestEncoding et responseEncoding, comme indiqué dans l'exemple suivant :
<configuration> <system.web> <globalization fileEncoding="utf-8"requestEncoding="utf-8"responseEncoding="utf-8" culture="en-US" uiCulture="de-DE" /> </system.web> </configuration>
Pour définir le codage pour une page individuelle, définissez les attributs RequestEncoding et ResponseEncoding de la directive @ Page, comme indiqué dans l'exemple suivant :
<%@ Page RequestEncoding="utf-8" ResponseEncoding="utf-8" %>
Remarque : Vous ne pouvez pas définir l'attribut fileEncoding attribut, parce qu'il s'applique au fichier lui-même.