mysql查询数据库导致中文乱码

2025-11-03 18:42:49

1、写一个test.php的文档,代码如下所示,

mysql查询数据库导致中文乱码

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

mysql查询数据库导致中文乱码

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

mysql查询数据库导致中文乱码

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

mysql查询数据库导致中文乱码

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

mysql查询数据库导致中文乱码

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);

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢