0

私はWebアプリケーションにRailo3.0を使用しています(この優れたガイドとまったく同じセットアップ)。cfcontentタグを使用して古いHTMLファイルを提供するCFMページがあります。このコンテンツはさまざまな文字セットになっています(すべてHTMLでメタタグとして定義されています)。問題は、すべてのCFMページがHTTP応答ヘッダーに設定されたUTF-8で送信され、これがHTMLで定義されたものをオーバーライドすることです。したがって、ページがブラウザに正しく表示されません。

CFMページのHTTPヘッダーで文字セットが送信されないようにするにはどうすればよいですか?

注:デフォルトのApache構成からAddDefaultCharsetエントリを削除しました。これは、静的HTMLページがヘッダーに文字セットなしで提供されるようになったことを意味しますが、これはCFMページには役立ちませんでした-AddDefaultCharsetは悪い、悪い、悪い

4

2 に答える 2

4

これが古いスレッドであることは知っていますが、最近同様の問題が発生し、基盤となるjavaサーブレットコンテキストを使用してこれを克服しました。ServletResponseを入手したら、.reset()を呼び出すことができます。これは、Javaのドキュメントによると次のようになっています。

バッファに存在するすべてのデータ、およびステータスコードとヘッダーをクリアします。

すべてのヘッダーを最初から書き直す必要がありますが、不正な文字セットヘッダーはクリアされます。

<cfset objResponse = GetPageContext().getResponse()>
<cfset objResponse.reset()>

これはRailoで機能します。CF(Adobe)では、適切な応答オブジェクトを取得するためにgetResponse()を2回呼び出す必要があると思います。

それが誰かを助けることを願っています。

于 2011-06-08T04:45:55.130 に答える
0

ページを送信しようとしている文字セットは何ですか? ページの文字セットをいくつかの方法で強制できます。

<cfprocessingdirective pageEncoding="windows-1252">

http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Tags_p-q_13.html#2962107

<cfheader name="charset" value="windows-1252">

http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Tags_g-h_07.html#3989067

于 2009-05-07T12:39:08.177 に答える