asp UTF-8文字化け問題の解決方法まとめ


これはウェブページのコードの問題です。中国語ではgb 2312を採用していますが、中国語では文字化けはほとんどありません。でも時々私達が使うのは国際的に通用するutf-8形式です。utf-8フォーマットの人がよく知らないと文字化けが起こりやすいです。
多くの友達が私に聞いたことがありますが、なぜASPでコードダウンを指定しましたか?またよく文字化けしています。才子さんはここでこの問題を詳しく説明します。多くの友達が回り道をしないようにします。UTF-8も排斥します。
aspホームページのutf 8文字化けはまだUTF-8が何なのか分からないなら、才子さんはまずUTF-8の関連資料を検索してください。
UTF-8コードがますます多くの人に受け入れられて好きになったのは、当然のことです。WEB 2.0が盛んに行われている今日、マルチブラウザの互換性を大いに話しながら、文字コードの違いによる文字化け現象も同様に良い処理が必要だと思わざるを得ません。
N年前までは、IE 6以下のバージョンは、該当するフォントライブラリがインストールされていない限り、アクセスに関するページは文字化けします。例えば、私はIE 5です。 (Windows 2000デフォルト) のバージョンは、IE繁体字ライブラリをインストールしていない場合は、任意の繁体ページにアクセスするウェブサイトは文字化けしています。もちろん、このページはBIG 5のCharrsetを採用していますが、UTF-8は国際コードとして、この問題をうまく処理できます。また、ページ上でcodepageおよびcharsetをすべてutf-8と定義すれば、どのクライアントブラウザにも完全に正しい内容が表示されます。文字化けは全くありません。
はい、才子さんはここでASPページを例にとって、具体的な操作を例に挙げてみましょう。
この才子はEditplusでコードを書くことを勧めます。才子もEditplusの使用教程を専門に書いたことがあります。興味がある友達はここをクリックしてください。 行ってみます
新しいASPページを開きます。ASPを遊んでいる友達はみんな気づいてくれます。たくさんのダウンロードのソースコードの中で、ページの一番上には普通に一言があります。
<%@LANGUAGE="VSCRIPT" CODEPAGE="936">
前のlangageは多く言う必要はないはずです。vbscriptはASPデフォルトのスクリプト言語です。全く書く必要はありません。書いたらページの実行効率にも影響しそうです。ここではまずこの問題について議論しません。 後のcodepageは肝心です。目的はブラウザに教えます。このページはどんなコードですか?936は簡体字中国語です。950は繁体字中国語を表します。65001は今日話したUTF-8コードです。936を65001に変えます。
<%@LANGUAGE="VSCRIPT" CODEPAGE=「65001」%>
加えて、いくつかの中国語の文字を出力します。正確に表示されますか?
<%
Resonse.Write "初めてUTF-8ページをテストします。
%
OK、直接に「保存」をクリックして、このページを実行してみてください。 "一尾のUTF-8ページ「 このいくつかの字は中国語で文字化けがありますが、なぜですか?
OKです。一番上のをクリックしてください。 "ファイル メニューは、「別存」を選択して、一番下の行にコードがあります。デフォルトはANSIのはずです。UTF-8をクリックして保存して、もう一度実行してみてください。もし思いがけないことがあったら、もっと乱れています。ほほほ、気絶しました。急がないでください。原因を考えてみてください。私達が作ったページはHTMLの帰りです。以前はHTMLを書いた時、bodyの前に見えます。つまりheadの文があります。このようなはずです
<meta http-equiv=「Conttentt-Type」 content="text/html charset=gb 2312">
つまり、指定ページはgb 2312で符号化して返します。必ず返却結果の出力先に書いてください。みんなはgb 2312が簡体字中国語であることを知っていますよね。今日はUTF-8符号化と言います。gb 2312をUTF-8に変更します。全部のコードは以下の通りです。
<%@LANGUAGE="VSCRIPT" CODEPAGE=「65001」%>
<meta http-equiv=「Conttentt-Type」 content="text/html charset=utf-8">
<%
Resonse.Write "初めてUTF-8ページをテストします。
%
もう一度実行してみます。うん、今回は正常に表示されましたよね。
aspウェブサイトutf 8文字化の結論:UTF-8コードを採用して、ファイルをUTF-8フォーマットに保存する以外に、codepageとcharsetを同時に指定する必要があります。
aspの葉面に文字化けしたコードが必ず現れないことを保証します。
(UTF-8の葉と仮定)
<%@ CODEPAGE=65001 %> 
<% Reponse.codePage=65001%> 
<% Resonse.Chiset=「UTF-8」 %> 
パブリックファイルのcode.aspを作成することができます。すべてのページにこのコード指定が含まれています。
ASPはUTF-8符号化のコードを生成して、中国語の文字化け問題を解決します。
方法1:creatextfileファイル生成方法

function WriteToFile(FileName,FileContent)
set fso=server.createobject("scripting.filesystemobject")
set fp=fso.createtextfile(server.mappath(FileName),,True)
fp.write(FileContent)
end function
方法2:ADODB.Streamファイル生成方法

Set ccObjStream = Server.CreateObject("ADODB.Stream")
With ccObjStream
.Type = 2
.Mode = 3
.Open
.Charset = "utf-8"
.Position = ccObjStream.Size
.WriteText       
.SaveToFile            ,2
.Close
End With
CreateText File方法
指定されたファイルを作成してTextStreamオブジェクトに戻り、作成されたファイルを読み書きするために使用できます。
object.reat TextFile(filename[,overwrite[,unicode]])
パラメータ
object
必ず選択します。FileSystemObjectまたはFolderオブジェクトの名前であるべきです。
filename
必ず選択します。作成するファイルを指定する文字列表式。
overwrite
オプションを選択します。Boolean値は既存のファイルを上書きできるかどうかを指定します。ファイルを上書きできる場合、この値はTrueです。ファイルを上書きできない場合、この値はFalseです。この値を省略すると既存のファイルを上書きできません。
unicode
オプションを選択します。Boolean値は、UnicodeまたはASCIIファイル形式でファイルを作成するかどうかを指定します。Unicodeファイル形式でファイルを作成すると、その値はTrueです。ASCIIファイル形式でファイルを作成すると、その値はFalseです。この部分を省略すると、ASCIIファイルが作成されると仮定します。