使用phpmyadmin打開后,是亂碼,但是查詢出來,頁面顯示是正常的。(mysql使用utf8編碼,數(shù)據(jù)庫也是utf8編碼。)
前臺頁面使用的是默認(rèn)編碼 gb2312,鏈接數(shù)據(jù)庫后,也沒有使用 set names
既然頁面正常,那就好辦,先把數(shù)據(jù)查出來,然后改寫成sql語句,把sql當(dāng)作文件來保存。
sql語句被保存后,這個時候還不能用,先把sql文件打開,用editplus另存為 utf8 格式。
用phpmyadmin 新建一個相同結(jié)構(gòu)的數(shù)據(jù)庫(不包括數(shù)據(jù))
再使用phpmyadmin,載入這個sql文件,直接運行。或者是把sql語句復(fù)制到phpmyadmin中運行也行(但是文件太大的時候就太慢了。)
<?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);
?>
新聞熱點
疑難解答
圖片精選