私のすべてのWebページエンコーディングはUTF-8です。ブラウザが開かれ、データベース(main.asp)にデータを挿入しないと、データとブラウズ(showall.asp)を直接読み取り、すべてが正常です。しかし、main.aspがajaxを介してアクセステーブルにデータを挿入し、showall.aspページを参照すると、showall.aspページにデータベースからのデータが含まれていなくても、respons.write( 'bishen')ステートメントのすべての内容が文字化けされます。ノートブックで閲覧されたWebページソースコードを編集したとき、彼のエンコードがANSIになったことがわかりました。
showall.aspページの前に追加するだけです
<%@言語= "vbscript" codepage = "65001"%>
<%session.codepage = 65001%>
<%session.codepage = 65001%>問題を解決できます。
WebページがUTF-8エンコードの場合は、コードの最初の行に追加してください。
<%@言語= "vbscript" codepage = "65001"%>
WebページがGB2312に基づいてエンコードされている場合は、コードの最初の行に追加してください。
<%@言語= "vbscript" codepage = "936"%>
注:この方法を使用して、Asparled Codeを解決しました。ここで2ポイントに注意してください
1。
これがポイントです:
2。
<%@language = "vbscript" codepage = "65001"%>および<meta http-equiv = "content-type" content = "text /html; charset = utf-8" />
response.wutf-8出力へのメソッドを作成します
XMLHTTPコントロールのニーズに適応するために、このコントロールは、UTF-8エンコードされたWebページコンテンツを取得するときにのみ正しい出力を取得できます。私はさまざまな方法を試し、ADODB.STEAMを使用してASPサーバーでトランスコードしました。後で、私は記事を見ました、次のコードをASPに追加するだけです。試してみましたが、成功しました!理由がわからないだけです。
Response.contentType = "text/html"
Response.Addheader "Content-Type"、 "text/html; charset = utf-8"
Response.CodePage = 65001
Response.Charset = "UTF-8"
Response.binarywrite(chrb(239))
Response.binarywrite(chrb(187))
Response.binarywrite(chrb(191))
次に、Response.Writeを使用してコンテンツを直接出力すると、クライアントはUTF-8でエンコードされたコンテンツを取得します。
Response.Writeソリューションは、Carled Codeを出力します
多くの場合、いくつかの詳細にあまり注意を払っていません。
たとえば、ASPの開発中、最も厄介なことはWebページのデコード問題です
私は現在いくつかの従来の中国のウェブサイトを開発していますが、同社はUTF-8の国際的なデコードが必要であると規定しています。
だからデコードの問題はあなたを悩ませるでしょう...
最小の<%@Language = "vbscript" codepage = "65001"%>を見ないでください
このコードは、特にデコードにおいてこのコードが非常に便利だからです。たとえば、Response.Writeメソッドを使用して中国の文字列を出力しても、多くの人がCODEを作成します。response.charset = "utf-8"およびsession.codepage = 65001を追加するには、役に立たないので、<%@@Language = "vbscript" codepage = "65001"%>