要解决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代码
xxx里面,可以用:申明页面编码四、浏览器设置为utf-8格式。
五、编辑器字符编码,代码文档要保存为utf-8格式。
六、若插入数据乱码,可以对插入数据进行转码。先把字符串转为utf-8再插入数据库中。