1

私は文字セットとエンコーディングが初めてです。何が間違っているのかわかりませんが、出力したいときにページが奇妙なコードを吐き出すだけです。これは私のコードです:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%Response.ContentType = "text/html"
Response.AddHeader "Content-Type", "text/html;charset=UTF-8"
Response.CodePage = 65001
Response.CharSet = "UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
</head>
<body>
<%response.write ("你好")%>
</body>
</html>

画面に表示されるのは次の 1 つだけです。 ä½ å¥½ ファイルも UTF-8 エンコーディングで保存されています。

前もって感謝します!

4

4 に答える 4

2

それが誰かを助けるなら。ASP 宣言は、常に HTML の前に置きます。セッションの定義が含まれているため、utf-8 のエンコードに失敗することはありません

<%@CodePage = 65001%>
<%
Session.CodePage = 65001
Response.charset ="utf-8"
Session.LCID     = 1033 'en-US
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
</head>
<body>
<%response.write ("你好")%>
</body>
</html>
于 2013-03-13T16:55:13.657 に答える
1

ほとんどの場合、asp ファイルは UTF-8 でエンコードされています (bom なし)。
そうであれば、ファイルを BOM で保存する必要があります。
Notepad++では、Encoding > Convert to UTF-8
メモ帳では、保存ダイアログでエンコーディングをUTF-8に指定します。

実際、UTF-8 ファイルの BOM は推奨されません
要点は、ASP では、応答ストリームに暗黙的に BOM が必要です。
実験として、次のページ (bom なしで utf-8 としてエンコード) を実行してみてください。Response オブジェクトが文字の代わりに奇妙な文字をフラッシュすることがわかります。ただし、直接入力はスムーズです。

<%
Response.Codepage = 65001
Response.Charset = "utf-8"
Response.Write "I'm weird: 好"
%><br />I'm not weird: 好
于 2013-01-21T12:34:37.240 に答える
1

コードページを設定するコード ブロックのにDOCTYPE 宣言を移動します。コードページの設定は、出力の前に行う必要があります。

于 2013-01-19T23:20:50.463 に答える
0

サーバー側で .asp を UTF-8 として保存する必要はありません。普通に保存してください(UCS-2)。

于 2013-01-20T22:27:35.137 に答える