2012-02-29 8 views
6

IIS下のWebサイトの*.aspファイル(従来のASP)をResponseに設定するにはどうすればよいですかヘッダーのコンテンツタイプはtext/html;charset=UTF-8に設定されていますか?現在、ファイルはContent-Type=text/htmlとなっています。IIS 6 - Classic ASP - "text/html; charset = UTF-8"に* .asp応答ヘッダーのコンテンツタイプを設定する

別のアプローチでは、すべてのページに<% Response.Charset = "UTF-8" %>を追加することですが、グローバルに行う方法があるのだろうかと思います。

ありがとうございます! -K

答えて

3

アプリケーションに対してCharSetをグローバルに指定する手段はありません。

実際には、クライアントにUTF-8を取得しているというだけではありません。また、レスポンスオブジェクトが65001コードページに設定されていることを確認する必要があります。これは、少なくともアプリケーションレベルで(またはIIS7マネージャのASP機能で直接)メタベース値AspCodePageを使用してグローバルに設定できます。

しかし、私の好みは、サーバーを正しく構成することを避けることです。各ページはコードページ(@CODEPAGEディレクティブまたはResponse.Codepage)とそのCharSetを設定します。

このアプローチには2つの理由があります。 1つは、最終的にCharSet/Codepageがファイルの作成と保存時に選択されたことです。もう1つは、サイトを削除/コピーする際に、より良い設定をすることを忘れないようにすることです。

+0

** ASP.NET **アプリケーションのために 'CharSet'をグローバルに設定しようとしている人には、*** ***が可能です。 Web.configの[''要素(http://msdn.microsoft.com/en-us/library/39d1w2xf.aspx)を参照してください。また、ASP.NETでは、 'CodePage' 65001がデフォルトです。 (「CodePage」はASP.NETソースコードがサーバー**上でどのように処理されるかを管理します** CharSetはクライアントに返される文字エンコーディング(例えばUTF-8)を制御します**。 – DavidRR

5

EDIT 1:アイブ氏は、IE9の開発ツール(ネットワーク]タブ)でこれをテストしたのContent-TypeのためのHTMLヘッダー内

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

結果:一方

text/html;charset=UTF-8 

IIS7のMIMEレベルでそれを設定するのではありません。理由を見つけたら私の答えを更新します。

EDIT 2: 私のテストリグで動作するグローバルなMIMEアプローチはありません - ごめんなさい!このオンラインのヒントがあります:http://forums.iis.net/p/1166956/1941076.aspx#1941076

タイプのインクルード(または同様のもの)のresponse.ContentType = "text/html;charset=UTF-8"をポップする必要があると思います。

+0

とにかく私は自分のサイトのすべてのページを修正する必要がありますか? –

関連する問題