当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 把mysql中的乱码变成正常的编码

MYSQL
MySQL/Postgrsql 详细讲解如何用ODBC接口访问MySQL指南
MySQL 升级方法指南大全
在Windows平台上升级MySQL注意事项
mysql常见问题解决
mysql数据库远程访问设置方法
发现mysql一个用法,比较有用
MySQL 视图 第1349号错误解决方法
mysql 远程连接数据库的方法集合
MySQL服务器的启动和关闭
MySQL进阶SELECT语法篇
MySQL里面的子查询实例
mysql的日期和时间函数大全
MySQL的数据类型和建库策略分析详解
MySQL的语法及其使用指南
mysql仿asp的数据库操作类
C#列出局域网中可用SQL Server服务器
C#编写方法实例
MySQL5.0存储过程教程
MySQL取出随机数据
mysql创建Bitmap_Join_Indexes中的约束与索引

MYSQL 中的 把mysql中的乱码变成正常的编码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 46 ::
收藏到网摘: n/a

使用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);
?>