php备份恢复mysql数据库中文乱码如何解决?

mylsok 2012-02-15 05:56:30
请教大家一个问题:
近来项目中需要一个备份恢复mysql的功能,于是找到这个看上去非常好用的代码,但是备份出的sql文件里的中文是乱码,我尝试修改了mydb.php中第12行的编码(把gbk改成了utf8),但是不行,请教应该怎么办?(我的数据库编码是utf8)

先谢了,望前辈不吝赐教!

整个代码就3个文件,结构很清晰:
这是三个文件的压缩档:http://dl.dbank.com/c0wyzttid5
这是mydb.php的代码
<?
class db{

var $linkid;
var $sqlid;
var $record;

function db($host="",$username="",$password="",$database="")
{
if(!$this->linkid) @$this->linkid = mysql_connect($host, $username, $password) or die("连接服务器失败.");
@mysql_select_db($database,$this->linkid) or die("无法打开数据库");
mysql_query('set names utf8');
return $this->linkid;}

function query($sql)
{if($this->sqlid=mysql_query($sql,$this->linkid)) return $this->sqlid;
else {
$this->err_report($sql,mysql_error);
return false;}
}

function nr($sql_id="")
{if(!$sql_id) $sql_id=$this->sqlid;
return mysql_num_rows($sql_id);}

function nf($sql_id="")
{if(!$sql_id) $sql_id=$this->sqlid;
return mysql_num_fields($sql_id);}

function nextrecord($sql_id="")
{if(!$sql_id) $sql_id=$this->sqlid;
if($this->record=mysql_fetch_array($sql_id)) return $this->record;
else return false;
}

function f($name)
{
if($this->record[$name]) return $this->record[$name];
else return false;
}

function close() {mysql_close($this->linkid);}

function lock($tblname,$op="WRITE")
{if(mysql_query("lock tables ".$tblname." ".$op)) return true; else return false;}

function unlock()
{if(mysql_query("unlock tables")) return true; else return false;}

function ar() {
return @mysql_affected_rows($this->linkid);
}

function i_id() {
return mysql_insert_id();
}

function err_report($sql,$err)
{
echo "Mysql查询错误<br>";
echo "查询语句:".$sql."<br>";
echo "错误信息:".$err;
}
/****************************************类结束***************************/
}?>
...全文
343 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
z109876543210 2012-02-20
  • 打赏
  • 举报
回复
保证 1. 程序编码 2.页面编码 3.数据库编码 三者一致
应该是绝对没乱码
jlokys 2012-02-18
  • 打赏
  • 举报
回复
对,设置成utf8
mylsok 2012-02-16
  • 打赏
  • 举报
回复
多谢,不过这是华为网盘的外链,不需要登录就可下载的。只有几K.

您说的程序编码,是指的备份代码文件的编码吗?如 backup.php 的编码?它确实不是utf8的。
jlokys 2012-02-15
  • 打赏
  • 举报
回复
另外兄弟我不得不说, 你放个压缩文档本来就没人看,好不容易有个想帮你研究下细节的,可下载文档还要注册登录, 这就有点扯蛋了。
jlokys 2012-02-15
  • 打赏
  • 举报
回复
保证 1. 程序编码 2.页面编码 3.数据库编码 三者一致 一般是不会出现乱码的

在写文件前,先打印从数据库中取出的文字是否乱码,判断上面三步是否一致

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧