PHP MYSQL乱码问题,使用SET NAMES utf8校正
发布网友
发布时间:2022-04-06 02:56
我来回答
共1个回答
热心网友
时间:2022-04-06 04:26
先记下,免得以后想不起来又到处去找!
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编码的文字内容
。