就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、若以上的方法依然找不到乱码原因,那就重新创建表格;
5、如果你想通过PHP语言输出数据库中的数据,此时只要在代码中加上
mysql_query(“SET NAMES 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>
相关文章推荐
- NavicatforMySQL插入数据出现乱码最近Navicat遇到个很蛋疼的问题,就是建立好数据
- 解决PHP+Navicat for Mysql插入数据乱码问题
- 使用 Navicat for MySQL 执行 SQL 语句时,出现 out of memory 问题的解决方法
- Navicat for MySQL中文乱码问题
- Navicat for mysql 中文乱码问题
- Navicat for MySQL 新建查询出现问题
- Navicat for mysql 显示中文乱码问题
- [转]关于Navicat和MYSQL字符集不统一出现的中文乱码问题
- Navicat for MySQL 新建查询时,报can't create file ...系统找不到指定的文件夹出现问题
- 【MySQL for Mac】navicat for mysql中文乱码问题——MySQL在Mac的字符集设置
- 解决 Navicat for Mysql连接mysql出现10038问题
- 解决Navicat for MySQL打开连接时出现错误提示1045 access denied for user 'root'@'localhost' (using password yes)的问题
- Navicat for Mysql建立本地连接出现 1045 -Access denied for user'root'@'ipAddress'(using password :yes) 的问题
- Navicat for MySQL 导出来的数据再用SQLyog导入,出现中文乱码的原因
- Navicat for mysql 一次性插入多条数据乱码的问题
- Navicat for MySQL 乱码问题解决方法
- 解决Navicat for Mysql mac 上的乱码问题
- 关于使用navicat for mysql在建立数据库连接时出现的2003 can't connect to mysql server on'localhost'(10038)问题
- 解决navicat for mysql出现1066-incorrect integer:"for column 'id' at row 2”问题
- Navicat for MySQL 新建查询时,报can't create file ...系统找不到指定的文件夹出现问题