mysql查询乱码转换_mysql乱码问题 mysql编码转换方法

使用phpmyadmin打开后,是乱码,但是查询出来,页面显示是正常的。(mysql使用utf8编码,数据库也是utf8编码。)

前台页面使用的是默认编码 gb2312,链接数据库后,也没有使用 set names。

既然页面正常,那就好办,先把数据查出来,然后改写成sql语句,把sql当作文件来保存。

sql语句被保存后,这个时候还不能用,先把sql文件打开,用editplus另存为 utf8 格式。

用phpmyadmin 新建一个相同结构的数据库(不包括数据)

再使用phpmyadmin,载入这个sql文件,直接运行。

或者是把sql语句复制到phpmyadmin中运行也行(但是文件太大时就太慢了。)

mysql编码转换文件,mysql_dump.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";

} // www.jbxue.com

file_put_contents("sql/".$table."_sql.php", $sql);

mysql_free_result($result);

mysql_close($link);

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值