IIS 6 - ASP classique - Définissez le type de contenu de l'en-tête de réponse *.asp sur « text/html;charset=UTF-8 »

StackOverflow https://stackoverflow.com/questions/9502490

Question

Comment puis-je définir *.asp (ASP classique) dans un site Web sous IIS pour que le type de contenu de l'en-tête de réponse soit défini sur text/html;charset=UTF-8?À l'heure actuelle, les fichiers sont servis comme Content-Type=text/html.

Une autre approche consiste à ajouter <% Response.Charset = "UTF-8" %> à chaque page, mais je me demande s'il existe un moyen de le faire globalement.

Merci!-K

Était-ce utile?

La solution

Il n'existe aucun moyen de spécifier globalement le CharSet pour une candidature.

Il y a en fait plus que simplement dire au client qu'il obtient UTF-8.Vous devez également vous assurer que l'objet de réponse est configuré sur la page de codes 65001.Cela peut au moins être défini globalement en utilisant le AspCodePage valeur de la métabase au niveau de l'application (ou directement dans la fonctionnalité ASP du gestionnaire IIS7).

Cependant, ma préférence pour ce genre de chose est d'éviter de dépendre du serveur pour qu'il soit configuré correctement.Chaque page définit sa page de codes (soit avec le @CODEPAGE directive ou avec Response.Codepage) et son CharSet.

J'ai deux raisons pour cette approche.La première est qu'en fin de compte, le CharSet/Codepage est un choix fait au moment de la création et de l'enregistrement du fichier.L'autre est que lors de la dépolymérisation/copie du site, moins vous devez vous rappeler de configurer, mieux c'est.

Autres conseils

MODIFICATION 1 :J'ai testé cela avec les outils de développement d'IE9 (onglet réseau),

<%
response.ContentType = "text/html;charset=UTF-8"
%>

Résultats dans un en-tête HTML pour Content-Type de :

text/html;charset=UTF-8

Alors que le définir au niveau MIME sur IIS7 ne le fait pas - je mettrai à jour ma réponse lorsque je comprendrai pourquoi.

MODIFIER 2 :Je n'arrive pas à faire fonctionner l'approche MIME globale sur mon banc de test - désolé !Il y a des indices à ce sujet en ligne : http://forums.iis.net/p/1166956/1941076.aspx#1941076

Je suppose que tu devras juste ouvrir le response.ContentType = "text/html;charset=UTF-8" dans un <!-- #include file="..\includes\common.asp" --> tapez include (ou similaire).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top