Posted in PHP onNovember 30, 2009
先记下,免得以后想不起来又到处去找!
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乱码问题,使用SET NAMES utf8校正
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@