現在、多くの中国語 Web サイトのエンコーディングが gb2312 から utf-8 エンコーディングに変換されています。多くの問題が発生しますが、ここに要約します:
すべてのファイルが ANSI ではなく UTF-8 エンコードで保存されていることを確認してください
特定の設定: テキスト エディターを使用している場合は、ファイルを保存するときにエンコードの選択があります (図 1) UTF-8 を選択するだけです。
Dreamweaver を使用している場合は、少し面倒になります。
Dreamweaver を使用して静的ファイルを編集する場合は、ファイルの charset タグを utf-8 に変更します: <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
を <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
に変更し、[名前を付けて保存] を選択すると、Dream はファイルを utf-8 エンコードとして保存します
注: Access データベースを使用している場合は、上記の 2 つの手順のみが必要です。Access 自体は UTF-8 エンコードを使用します。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
が <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
に変更されました。これは、ASP が ADO 経由でデータベースにアクセスするために使用するエンコーディングも直接決定します。 Set objStream = Server.CreateObject(" ADODB.Stream") <code>Set objStream = Server.CreateObject("ADODB.Stream") <br> With objStream <br> .Open <br> .Charset = "utf-8" <br> .Position = objStream.Size <br> .LoadFromFile server.mappath("sc.htm")<br> wstr = .ReadText<br> .Close <br> End With <br>Set objStream = Nothing<br>
objStream を使用 Set objStream = Server.CreateObject("ADODB.Stream") <br> With objStream <br> .Open <br> .Charset = "utf-8" <br> .Position = objStream.Size <br> .WriteText=wstr <br> .SaveToFile server.mappath("wz/sc_" & classid & ".htm"),2 <br> .Close <br> End With <br>Set objStream = Nothing
.Open .Close
End With<?php<BR>$conn = new COM("ADODB.Connection",NULL,65001) or die("ADO connect failed!");<BR>$rs = new COM("ADODB.RecordSet") or die("ADO recordset fail"); $conn->open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb"); <br>$rs = $conn->Execute("select * from data");<br>while not $rs->EOF<br>echo $rs->Fields['title']->value;<br>?>
Set objStream = Nothingストリームを使用してファイルを書き込みます
Set objStream = Server.CreateObject ("ADODB.Stream" ) objStream あり <p> .Open </p> .Charset = "utf-8" <code><?php mysql_query("SET NAMES 'utf8'"); ?>
.Position = objStream.Size .WriteText=wstr .SaveToFile サーバー.mappath("wz/ sc_" & classid & ".htm"),2 End With Set objStream = Nothing
php の記事
Windows ホストで PHP の com 拡張機能を使用して、ADODB.Connection を確立するときに、コード ページ パラメーターを 65001<?php<BR>$conn = new として指定します。 COM(" ADODB.Connection",NULL,65001) または die("ADO 接続に失敗しました!");</P>$rs = new COM("ADODB.RecordSet") または die("ADO レコードセット失敗"); -> open("Provider=Microsoft.Jet.OLEDB.4.0;データ ソース=data.mdb");
$rs ->EOF
echo $rs->Fields['title']->value;mysql データベースとの接続を確立した後、まず次の SQL クエリを実行します:
<?php<BR>require_once('adodb/adodb.inc.php'); <BR>$conn =& ADONewConnection('ado_access'); <BR>$conn->charPage ='65001';<br>//$conn->charPage = 65001;<br>//$conn->debug = true;<br>$dsn = sprintf("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= %s",realpath('2data.mdb'));<br>// $dsn = sprintf("Driver={Microsoft Access Driver (*.mdb)};Dbq=%s",realpath("data.mdb"));<br>$conn->Connect($dsn);
mysql マニュアル セット名の説明 SET NAMES は、クライアントから送信された SQL ステートメントで使用されている文字セットを表示します。したがって、SET NAMES 'cp1251' ステートメントは、サーバーに「このクライアントからの今後の情報では文字セット cp1251 が使用される」ことを伝えます。また、サーバーがクライアントに送り返す結果の文字セットも指定します。 (たとえば、SELECT ステートメントを使用する場合、列の値にどの文字セットが使用されているかが示されます。) SET NAMES 'x' ステートメントは、次の 3 つのステートメントと同等です:
mysql> SETcharacter_set_client = x;
adodb クラスを使用します:
「charpage」属性を 65001 に設定します。 <?phprequire_once('adodb/adodb.inc.php'); $conn =& ADONewConnection('ado_access') ) ; $conn->charPage ='65001';//$conn->charPage = 65001;//$conn->debug = true;$dsn = sprintf ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= %s",realpath('2data.mdb'));// $dsn = sprintf("Driver={Microsoft Access Driver (*. mdb )};Dbq=%s",realpath("data.mdb"));$conn->Connect($dsn);