Daripada pertukaran gb kepada utf-8_experience

WBOY
Lepaskan: 2016-05-16 12:10:04
asal
1727 orang telah melayarinya

Kini pengekodan banyak tapak web Cina sedang menukar daripada pengekodan gb2312 kepada utf-8. Terdapat banyak masalah yang timbul dan diringkaskan di sini:

Prasyarat:

Pastikan semua fail disimpan dalam pengekodan UTF-8, bukan ANSI

Tetapan khusus: Jika anda menggunakan editor teks, terdapat pilihan pengekodan semasa menyimpan fail (Rajah 1) 文本编辑器的保存对话框 Hanya pilih ia sebagai UTF-8.

Jika anda menggunakan Dreamweaver, ia akan menyusahkan sedikit.

Apabila menggunakan Dreamweaver untuk mengedit fail statik, tukar teg charset fail kepada utf-8: <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> kepada <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> dan kemudian pilih Save As Dream akan menyimpan fail sebagai utf-8 yang dikodkan

Nota: Jika anda menggunakan pangkalan data akses, anda hanya memerlukan dua langkah di atas Access itu sendiri menggunakan pengekodan UTF-8.

artikel asp

Tetapan halaman kod:

Barisan pertama fail ASP: <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> ditukar kepada: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> Ini juga secara langsung menentukan pengekodan yang digunakan oleh ASP untuk mengakses pangkalan data melalui ADO.
Nota: Jika anda menggunakan pangkalan data akses, anda hanya memerlukan dua langkah di atas Access itu sendiri menggunakan pengekodan UTF-8.

Jika program templat digunakan

Atur cara templat biasa membaca dan menulis fail melalui objek fso. Walau bagaimanapun, kaedah ini tidak boleh menyokong utf-8 dan perlu ditukar kepada objek strim untuk membaca dan menulis fail Berikut ialah beberapa baris utama kod:
Gunakan stram untuk membaca fail
Tetapkan 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>  Dengan 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 .Buka

.Charset = "utf-8"

.Position = objStream.Size

.LoadFrom(" server.mappath sc.htm")

wstr = .ReadText

.Tutup

Tamat Dengan <?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

Gunakan strim untuk menulis fail Set objStream = Server.CreateObject ("ADODB.Stream") Dengan objStream <p> .Buka </p> .Charset = "utf-8" <code><?php mysql_query("SET NAMES 'utf8'"); ?> .Position = objStream.Size .WriteText=wstr . .mappath("wz/ sc_" & classid & ".htm"),2
.Tutup

Tamat Dengan Tetapkan objStream = Tiada artikel php

php dan akses sambungan:


Gunakan sambungan COM PHP pada hos Windows untuk menyambung ke pangkalan data akses Apabila mewujudkan ADODB.Connection, tentukan parameter halaman kod sebagai 65001
<?php<BR>$conn = new. COM(" ADODB.Connection",NULL,65001) or die("ADO connect failed!");</P>$rs = new COM("ADODB.RecordSet") atau die("ADO recordset fail"); -> open("Pembekal=Microsoft.Jet.OLEDB.4.0;Sumber Data=data.mdb"); bukan $rs ->EOF

gema $rs->Field['title']->value;

?>

sambungan php dan mysql

Selepas mewujudkan sambungan dengan pangkalan data mysql, mula-mula laksanakan pertanyaan SQL berikut:

<?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 manual Penerangan tentang nama set SET NAMES memaparkan set aksara yang digunakan dalam pernyataan SQL yang dihantar oleh klien. Oleh itu, pernyataan SET NAMES 'cp1251' memberitahu pelayan bahawa "maklumat masa depan daripada klien ini akan menggunakan set aksara cp1251." Ia juga menentukan set aksara untuk hasil yang pelayan hantar semula kepada klien. (Sebagai contoh, jika anda menggunakan pernyataan SELECT, ia menunjukkan set aksara yang digunakan untuk nilai lajur.) Pernyataan SET NAMA 'x' adalah bersamaan dengan tiga pernyataan ini: mysql> SET character_set_client = x; Gunakan kelas adodb: Tetapkan atribut 'charpage' kepada 65001; <?php<🎜>require_once('adodb/adodb.inc.php'); ); <🎜>$conn->charPage ='65001';//$conn->charPage = 65001;//$conn->debug = true;$dsn = sprintf ("Pembekal=Microsoft.Jet.OLEDB.4.0;Sumber Data= %s",realpath('2data.mdb'));// $dsn = sprintf("Pemandu={Pemacu Akses Microsoft (*. mdb )};Dbq=%s",realpath("data.mdb"));$conn->Connect($dsn);
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan