PHP MYSQL乱码问题,使用SET NAMES utf8校正

yipeiwu_com6年前Mysql基础
先记下,免得以后想不起来又到处去找!
PHP操作数据库的时候,数据库中数据使用UTF8编码,在读出来的时候,显示的全是???????问号乱码,找了一些资料原来是在读取之前进行一次编码设置:
复制代码 代码如下:

create table tablename
(
id int not null auto_increment,
title varchar(20) not null,
contnet varchar(300) defalut null,
primary key ('id')
)begin=MyISAM DEFAULT CHARSET =UTF8;

在插入数据之前执行:
复制代码 代码如下:

mysql_query("SET NAMES utf8");

然后
mysql_query("insert into tablename .....")

读出数据之前执行:
复制代码 代码如下:

mysql_query("SET NAMES utf8");

然后 mysql_query("select * from tablename")
注意:此处读出的编码是把原来编码的内容重新经过编码后输出的,比如输出内容所在页面是GBK编码,那么在读出的时候在页面显示也为乱码,所以在查询之前执行 mysql_query("SET NAMES gbk"),在页面就可以正常显示GBK编码的文字内容 。

相关文章

php+mysql查询优化简单实例

本文实例分析了php+mysql查询优化的方法。分享给大家供大家参考。具体分析如下: PHP+Mysql是一个最经常使用的黄金搭档,它们俩配合使用,能够发挥出最佳性能,当然,如果配合Ap...

php数据入库前清理 注意php intval与mysql的int取值范围不同

php保存数据到mysql 打算在dao层进行数据入库前的清理,比如varchar进行trim,int进行intval。 有一天突然想起,php intval的取值范围与mysql的in...

mysql 中InnoDB和MyISAM的区别分析小结

 MyIASM是IASM表的新版本,有如下扩展: 二进制层次的可移植性。 NULL列索引。 对变长行比ISAM表有更少的碎片。 支持大文件。 更好的索引压缩。 更好的键吗统计分...

Mysql和网页显示乱码解决方法集锦

将数据插入到php?name=%CA%FD%BE%DD%BF%E2" onclick="tagshow(event)" class="t_tag">数据库的时候...

深入理解用mysql_fetch_row()以数组的形式返回查询结果

同mysql_result()一样,mysql_fetch_row()也可以用来获取查询结果集,其区别在于函数的返回值不是一个字符串,而是一个数组。函数定义如下。复制代码 代码如下:ar...