2

Aptana 3 で CFEclipse の CFML エディターを使用して、次の .cfm ファイルを作成しました。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>templates</title>

</head>

<body>
£
</body>
</html>

私のワークスペースのエンコーディングは UTF-8 に設定されていますが、ファイルを保存してブラウザで表示すると、ポンド記号が £ に変わります。

追加することで問題を解決できます

<cfprocessingdirective pageencoding = "utf-8"/>

CFMファイルの先頭に追加しますが、私が取り組んでいるWebサイトでは、すべてのページで現実的にそれを行うことはできず、ページヘッダーインクルードに追加しようとしましたが、うまくいきません.

ファイルをHTMLファイルとして保存するか、メモ帳のutf-8を使用してファイルを保存するとシャープ記号は問題ないので、AptanaのCFEclipseプラグインのCFMLエディターに関連しているようです。誰かが以前にこの問題に遭遇したことがありますか、それを解決する方法について何か考えがありますか?

ありがとう

EDIT(文字セットヘッダーを追加):

HTTP/1.1 200 OK
Date: Thu, 06 Oct 2011 13:26:11 GMT
Server: Apache/2.2.17 (Win32) PHP/5.3.4 JRun/4.0
Set-Cookie: CFGLOBALS=urltoken%3DCFID%23%3D12703%26CFTOKEN%23%3D40776140%23lastvisit%3D%7Bts%20%272011%2D10%2D06%2014%3A26%3A11%27%7D%23timecreated%3D%7Bts%20%272011%2D10%2D04%2017%3A05%3A01%27%7D%23hitcount%3D314%23cftoken%3D40776140%23cfid%3D12703%23;expires=Sat, 28-Sep-2041 13:26:11     GMT;path=/
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

GET /enc_test3.cfm HTTP/1.1
Host: www.foo.co.uk
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
4

3 に答える 3

1

あなたは選択肢がありません。CFM ファイルに UTF-8 (または基本的に「非 ASCII」~) コンテンツがある場合は、ファイルがどのようにエンコードされているかを CF コンパイラに伝える必要があります (既に行ったように、CFPROCESSINGDIRECTIVE を使用)。

これはコンパイル時に行う必要があるため、Application.cfc または「アップストリーム」CFM ファイルにタグを付けても機能しません。これは、「非ストリーム化」がコンパイル時ではなく実行時に決定されるためです。

全体として、CFM はコンテンツやデータではなくほとんどコードであるため、CFM ファイルに非 ASCII テキストが含まれることはまれです。とはいえ、これが常に可能であるとは限らないことを私は理解しています。

于 2011-10-06T11:26:52.450 に答える
0
My Workspace encoding is set to UTF-8, but when I save and view the file in a browser my pound sign has changed to £. 

明らかに、クレートされた .cfm ファイルは実際には UTF8 ではありません。CFEclipse はファイル エンコーディングを処理しません。少なくとも、そのような設定は見たことがありません。しかし、Eclipseにはリソース (ファイル/プロパティ) ごとにエンコーディングを定義する機能がありますが、Aptana にはそのようなものがありますか (しばらく使用していません)?

于 2011-10-06T10:24:58.627 に答える
-1

入れてみて

<cfprocessingdirective pageencoding="utf-8" />

Application.cfc の上部付近

于 2011-10-06T10:03:50.483 に答える