*.asp
IIS の下の Web サイトでファイル (クラシック ASP) を設定して、応答ヘッダーの Content-Type を に設定するにはどうすればよいtext/html;charset=UTF-8
ですか? 現在、ファイルはContent-Type=text/html
.
別のアプローチは、<% Response.Charset = "UTF-8" %>
すべてのページに追加することですが、それをグローバルに行う方法があるかどうか疑問に思っています.
ありがとう!-K
*.asp
IIS の下の Web サイトでファイル (クラシック ASP) を設定して、応答ヘッダーの Content-Type を に設定するにはどうすればよいtext/html;charset=UTF-8
ですか? 現在、ファイルはContent-Type=text/html
.
別のアプローチは、<% Response.Charset = "UTF-8" %>
すべてのページに追加することですが、それをグローバルに行う方法があるかどうか疑問に思っています.
ありがとう!-K
編集 1: IE9 の開発者ツール (ネットワーク タブ) でこれをテストしました。
<%
response.ContentType = "text/html;charset=UTF-8"
%>
次の Content-Type の HTML ヘッダーになります。
text/html;charset=UTF-8
一方、IIS7 の MIME レベルで設定することはできません。理由がわかり次第、回答を更新します。
編集 2: グローバル MIME アプローチをテスト装置で動作させることができません - 申し訳ありません! このオンラインのヒントがあります: http://forums.iis.net/p/1166956/1941076.aspx#1941076
タイプインクルード(または同様のもの)にポップresponse.ContentType = "text/html;charset=UTF-8"
するだけでよいと思います。<!-- #include file="..\includes\common.asp" -->
CharSet
アプリケーションに対してをグローバルに指定する方法はありません。
実際には、クライアントに UTF-8 を取得していることを伝えるだけではありません。また、応答オブジェクトが 65001 コードページに設定されていることを確認する必要があります。AspCodePage
これは、アプリケーション レベルで (または IIS7 マネージャーの ASP 機能で直接) メタベース値を使用して、少なくともグローバルに設定できます。
ただし、この種のことに対する私の好みは、サーバーが正しく構成されていることに依存することを避けることです。各ページは、そのコードページ (@CODEPAGE
ディレクティブまたはのいずれかを使用Response.Codepage
) とそのCharSet
.
このアプローチには 2 つの理由があります。1 つは、最終的に CharSet/Codepage がファイルの作成および保存時に選択されることです。もう 1 つは、サイトをデプロイ/コピーするときに、構成を覚えておく必要が少ないほど良いということです。