程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 把mysql中的亂碼變成正常的編碼

把mysql中的亂碼變成正常的編碼

編輯:關於MYSQL數據庫

使用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("'", "&#39;", $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);
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved