mysql查询数据库导致中文乱码
1、写一个test.php的文档,代码如下所示,

2、打开mysql的界面,新建一个xml的数据库,再建一个student的数据表,字段值和记录如下图所示,

3、打开谷歌浏览器,运行test.php文档。运行结果是下图:

4、看到了吧,出现乱码了,怎么办呢?在代码里加一句代码,看截图里红色箭头的指示,

5、再次运行test.php,看截图,乱码消失了,

6、相应的代码如下:
<?php
header("Content-Type:text/html; charset=utf-8");
/***************查询数据*******************/
$con = mysql_connect("localhost","root","wancxh99");
if (!$con)
{
// echo "链接失败";
die('Could not connect: ' . mysql_error());
}else{
// echo "链接成功";
}
echo "<br />";
mysql_query("set names 'utf8'");//进出查询编码不产生乱码
mysql_select_db("xml", $con);
$result = mysql_query("SELECT * FROM student");
while($row = mysql_fetch_array($result))
{
echo $row['id'] . " " . $row['sex']. " " . $row['name'];
echo "<br />";
}
mysql_close($con);
?>
导出的SQL如下
-- phpMyAdmin SQL Dump
-- version 2.10.3
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2014 年 09 月 12 日 05:25
-- 服务器版本: 5.0.51
-- PHP 版本: 5.2.6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- 数据库: `xml`
--
-- --------------------------------------------------------
--
-- 表的结构 `student`
--
CREATE TABLE `student` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) NOT NULL,
`sex` varchar(10) NOT NULL,
`age` smallint(3) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
--
-- 导出表中的数据 `student`
--
INSERT INTO `student` VALUES (1, 'XUZIRUI', 'male', 19);
INSERT INTO `student` VALUES (2, '李莫愁', '女', 19);
INSERT INTO `student` VALUES (3, '李明博', '女', 55);
INSERT INTO `student` VALUES (4, '李普曼', '男', 59);