首页

Php连接Mysql读取记录集页面显示乱码???(图文代码示例)

标签:php,中文,乱码,mysql,字符集,???,MySQL,异常,exception,error     发布时间:2015-07-09   

一、问题描述

使用php连接mysql查询记录集到搜索页面显示中文乱码???(如下图所示)

Php连接Mysql读取记录集页面显示乱码???(图文代码示例)

数据库字符编码类型设置的是"utf-8"(如下图所示)

Php连接Mysql读取记录集页面显示乱码???(图文代码示例)

php文件字符编码格式为"utf-8"(如下图所示)

Php连接Mysql读取记录集页面显示乱码???(图文代码示例)

php连接数据库如下代码示例

<?php@b@    $q=$_GET["q"];  @b@    $con = mysql_connect('localhost', 'my1535594', '123456'); @b@    if (!$con){@b@        die('Could not connect: ' . mysql_error());@b@    } @b@    mysql_select_db("my1535594", $con); @b@     @b@    $sql="SELECT * FROM PMS_REP_VIEW  WHERE TITLE LIKE '%".$q."%'";@b@    @b@    $result = mysql_query($sql,$con);@b@    $num_rows = mysql_num_rows($result);@b@    echo "<p >搜索结果:</p>";@b@    if ($num_rows==0){ @b@        echo "<p  ><ul><li><font>没有查询结果,请确认关键词后,重试!!!</font></li></ul></p>"; @b@    }else{ @b@         while($row = mysql_fetch_array($result)){@b@             echo "<p class="s_list" >";@b@             echo "<ul>";@b@             echo "<li class="s_tit">◆&nbsp;" . $row['TITLE']. "</li>";@b@             echo "<li class="s_zy" > <font>" . $row['ZHAIYAO'] . "</font></li>"; @b@             echo "</ul>";@b@             echo "</p>";@b@         }   @b@     } @b@    mysql_close($con); @b@?>

二、解决方法

在数据连接之前修改字符集为对应编码集"utf-8",代码如下

    ...    @b@    $sql="SELECT * FROM PMS_REP_VIEW  WHERE TITLE LIKE '%".$q."%'";@b@   @b@    mysql_query("SET NAMES 'UTF8'",$con);@b@    mysql_query("SET CHARACTER SET UTF8",$con);@b@    mysql_query("SET CHARACTER_SET_RESULTS=UTF8'",$con);@b@  @b@    $result = mysql_query($sql,$con);@b@    $num_rows = mysql_num_rows($result);@b@    ...

这样所有字符集编码都统一为"utf-8"(如果数据库和文件显示编码设置的gbk,需要做相应调整),结果如下图所示:

Php连接Mysql读取记录集页面显示乱码???(图文代码示例)

<<热门下载>>