您的位置:首页 > 数据库 > MySQL

就Navicat for MySQL出现的乱码问题进行讨论

2017-08-22 21:43 435 查看
PHP操作数据库的时候,数据库中数据使用UTF8编码,在读出来的时候,显示的全是???????问号乱码。查找原因:

1、首先在Navicat for MySQL中选择“工具->命令列界面”中输入

show variables like “%char%”;



2、再在MySQL中找到my.ini;



3、查看“数据库属性”;



4、若以上的方法依然找不到乱码原因,那就重新创建表格;

create table book
(
id int not null auto_increment primary key,
name varchar(10) not null,
publish varchar(20) not null
)engine=innodb default charset=utf8;


5、如果你想通过PHP语言输出数据库中的数据,此时只要在代码中加上

mysql_query(“SET NAMES utf8”); 即可

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>雇员信息列表</title>
</head>
<?php
//显示所有emp表的信息
//1.连接数据库
$conn=mysql_connect('localhost','root','root') or die('连接数据库错误'.mysql_error());
//2.选择数据库
mysql_select_db('test');
//3.选择字符集
mysql_query('set names utf8');
//4.发送sql语句并得到结果进行处理
//4.1分页[分页要发出两个sql语句,一个是获得$rowCount,一个是通过sql的limit获得分页结果。所以我们会获得两个结果集,在命名的时候要记得区分。
//分页  (四个值 两个sql语句)。
$pageSize=4;//每页显示多少条记录
$rowCount=0;//共有多少条记录
$pageNow=1;//希望显示第几页
$pageCount=0;//一共有多少页  [分页共有这个四个指标,缺一不可。由于$rowCount可以从服务器获得的,所以可以给予初始值为0;
//$pageNow希望显示第几页,这里最好是设置为0;$pageSize是每页显示多少条记录,这里根据网站需求提前制定。
//$pageCount=ceil($rowCount/$pageSize),既然$rowCount可以初始值为0,那么$pageCount当然也就可以设置为0.四个指标,两个0 ,一个1,另一个为网站需求。]
//4.15根据分页链接来修改$pageNow的值
if(!empty($_GET['pageNow'])){
$pageNow=$_GET['pageNow'];
}//[根据分页链接来修改$pageNow的值。]
$sql='select count(id) from book';
$res1=mysql_query($sql);
//4.11取出行数
if($row=mysql_fetch_row($res1)){
$rowCount=$row[0];
}//[取得$rowCount,,进了我们就知道了$pageCount这两个指标了。]
//4.12计算共有多少页
$pageCount=ceil($rowCount/$pageSize);
$pageStart=($pageNow-1)*$pageSize;

//4.13发送带有分页的sql结果
$sql="select * from book limit $pageStart,$pageSize";//[根据$sql语句的limit 后面的两个值(起始值,每页条数),来实现分页。以及求得这两个值。]
$res2=mysql_query($sql,$conn) or die('无法获取结果集'.mysql_error());
echo '<table border=1>';       //echo "<table border='1px' cellspacing='0px' bordercolor='red' width='600px'>";
"<tr><th>id</th><th>name</th><th>publish</th><th><a href='#'>删除用户</a></th><th><a href='#'>修改用户</a></th></tr>";        while($row=mysql_fetch_assoc($res2)){
echo "<tr><td>{$row['id']}</td><td>{$row['name']}</td><td>{$row['publish']}</td><td><a href='#'>删除用户</a></td><td><a href='#'>修改用户</a></td></tr>";        }
echo '</table>';
//4.14打印出页码的超链接
for($i=1;$i<=$pageCount;$i++){
echo "<a href='?pageNow=$i'>$i</a> ";//[打印出页码的超链接]

}
//5.释放资源,关闭连接
mysql_free_result($res2);
mysql_close($conn);
?>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 乱码
相关文章推荐