要解决PHP数据库乱码问题可以做以下设置:
一、数据库里的设置:
1、在MYSQL中新建数据库的时候,数据库选择UTF-8编码既字符集设定为utf-8_unicode_ci
(Unicode (多语言),不区分大小写),库里面 表table的整理设置为utf-8_general_ci
;表里面的每个字段的整理都设置为utf-8_general_ci
。
2、创建数据库时,规定字符类型为uft8,如:
create database db_name character set utf8;
或修改已创建数据库成utf8类型:
alter database db_name character set utf8;
3、创建表时,规定字符类型为utf8,如:
CREATE TABLE tb_name( id int(10) NOT NULL auto_increment, username char(34) NOT NULL , password int(56) NOT NULL, PRIMARY KEY (id) ) DEFAULT CHARSET=utf8;
或修改已创建表为utf8格式:
alter table tb_name character set utf8;
或修改表中某个字段为utf8格式:
alter table tb_name modify type_name varchar(50) CHARACTER SET utf8;
二、php连接时的设置,在PHP的MySQL连接函数中,加上语句:
//注意此处为utf8,不要写成utf-8mysql_query("set names 'utf8'");
三、网页页面申明编码:在HTML代码<head>xxx</head>里面,可以用:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>申明页面编码
四、浏览器设置为utf-8格式。
五、编辑器字符编码,代码文档要保存为utf-8格式。
六、若插入数据乱码,可以对插入数据进行转码。先把字符串转为utf-8再插入数据库中。
推荐教程:PHP视频教程