使用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).");
";
}
file_put_contents("sql/".$table."_sql.php", $sql);
mysql_free_result($result);
mysql_close($link);
?> 数据挖掘研究院

