使用phpmyadmin打開(kāi)后,是亂碼,但是查詢(xún)出來(lái),頁(yè)面顯示是正常的。(mysql使用utf8編碼,數(shù)據(jù)庫(kù)也是utf8編碼。)
前臺(tái)頁(yè)面使用的是默認(rèn)編碼 gb2312,鏈接數(shù)據(jù)庫(kù)后,也沒(méi)有使用 set names
既然頁(yè)面正常,那就好辦,先把數(shù)據(jù)查出來(lái),然后改寫(xiě)成sql語(yǔ)句,把sql當(dāng)作文件來(lái)保存。
sql語(yǔ)句被保存后,這個(gè)時(shí)候還不能用,先把sql文件打開(kāi),用editplus另存為 utf8 格式。
用phpmyadmin 新建一個(gè)相同結(jié)構(gòu)的數(shù)據(jù)庫(kù)(不包括數(shù)據(jù))
再使用phpmyadmin,載入這個(gè)sql文件,直接運(yùn)行。或者是把sql語(yǔ)句復(fù)制到phpmyadmin中運(yùn)行也行(但是文件太大的時(shí)候就太慢了。)
<?php
$link = mysql_connect('localhost', 'root', 'root');
mysql_select_db('temp');
$table = "article"; //指定表名
$query = 'SELECT * FROM '.$table;
$result = mysql_query($query);
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
$key = array();
$value = array();
foreach ($line as $k=>$v) {
$key[] = $k;
$value[] = "'".str_replace("'", "'", $v)."'";
}
$sql[] = "INSERT INTO `".$table."`(".join(",", $key).") VALUES(".join(",", $value).");/r/n";
}
file_put_contents("sql/".$table."_sql.php", $sql);
mysql_free_result($result);
mysql_close($link);
?>
新聞熱點(diǎn)
疑難解答
圖片精選