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

作者:小胖吴 | 创建时间: 2023-06-27
mysql查询数据库,如果数据库里的字段的值是中文,就会出现乱码,怎么解决呢?看下面的讲解...
mysql查询数据库导致中文乱码

操作方法

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

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

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

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

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

相应的代码如下: <?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);

点击展开全文

更多推荐