当前位置:首页 > PHP教程 > PHP高级教程

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

先记下,免得以后想不起来又到处去找!
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编码的文字内容 。

【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!