方法一:在数据库连接后执行: mysql_query('SET NAMES utf8');

代码:

$dbconn=mysql_connect("localhost", "root","root");
$dbconn->query("set names utf8");

 

方法二:使用mysql_query函数

$dbconn=mysql_connect("localhost", "root","root");
mysql_query("set names 'utf8'",$dbconn);

 

经测试,方法一在我这没成功,方法二成功。

 

展示全部代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
<!--
body,table{
font-size:13px;
}
table{
table-layout:fixed;
empty-cells:show;
border-collapse: collapse;
margin:0 auto;
border:1px solid #cad9ea;
}
th{
height:22px;
font-size:13px;
font-weight:bold;

text-align:center;
}
td{
height:20px;
}
.tableTitle{font-size:14px; font-weight:bold;}

</style>
<title>数据库结构--本地</title>
</head>

<body>
<div style="margin:0 auto;width:880px; border:1px #006600 solid; font-size:12px; line-height:20px;">
<div style="width:100%;height:30px; font-size:16px; font-weight:bold; text-align:center;">
数据库结构--本地<br />
<font style="font-size:14px; font-weight:normal;"><?php echo date("Y-m-d h:i:s"); ?></font>
</div>
<?php

$dbconn=mysql_connect("localhost", "root","root");
//$dbconn->query("set names utf8");
mysql_query("set names 'utf8'",$dbconn);
$sqlname="information_schema";
mysql_select_db($sqlname,$dbconn);
session_start();

$sql = "SELECT * FROM tables where table_schema='jtest' order by TABLE_NAME";
$result = mysql_query($sql);
while($row=mysql_fetch_array($result))
{
//print_r($row);
?>
<div style="margin:0 auto; width:100%; padding-top:10px;">
<b class="tableTitle">表名: <?php echo $row["TABLE_NAME"] ?> </b> <br />
<?php echo $row["TABLE_COMMENT"] ?>
</div>
<table width="100%" border="1">
<thead>
<th width="70">序号</td>
<th width="170">字段名</td>
<th width="140">字段类型</td>
<th width="80">允许为空</td>
<th width="70">默认值</td>
<th>备注</td>
</thead>
<?php
$sql2 = "SELECT * FROM columns where table_name='".$row["TABLE_NAME"]."' order by COLUMN_NAME";
$result2 = mysql_query($sql2);
$num=0;
while($row2=mysql_fetch_array($result2))
{
$num = $num+1;
//print_r($row);
?>

<tr>
<td align="center"><b><?php echo $num ?></b></td>
<td><?php echo $row2["COLUMN_NAME"] ?></td>
<td><?php echo $row2["COLUMN_TYPE"] ?></td>
<td align="center"><?php echo $row2["IS_NULLABLE"] ?></td>
<td align="center"><?php echo $row2["COLUMN_DEFAULT"] ?></td>
<td><?php echo $row2["COLUMN_COMMENT"] ?></td>
</tr>
<?php
}
?>
</table>
<?php
}
mysql_close($dbconn);
?>

</div>
</body>
</html>

 

【PHP】解决数据库查询出来的中文内容显示为问号“??”_html