使用PHPmyadmin打開後,是亂碼,但是查詢出來,頁面顯示是正常的。(MySQL使用utf8編碼,數據庫也是utf8編碼。)
前台頁面使用的是默認編碼 gb2312,鏈接數據庫後,也沒有使用 set names
既然頁面正常,那就好辦,先把數據查出來,然後改寫成sql語句,把sql當作文件來保存。
sql語句被保存後,這個時候還不能用,先把sql文件打開,用editplus另存為 utf8 格式。
用PHPmyadmin 新建一個相同結構的數據庫(不包括數據)
再使用phpmyadmin,載入這個sql文件,直接運行。或者是把sql語句復制到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);
?>