要解决PHP数据库乱码问题可以做以下设置:

1、数据库里的设置:

      (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;


2、php连接时的设置,在PHP的MySQL连接函数中,加上语句: mysql_query("set names 'utf8'");



      //注意此处为utf8,不要写成utf-8


3、网页页面申明编码:在HTML代码<head>xxx</head>里面,可以用

      <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>申明页面编码



4、浏览器设置为utf-8格式。



5、编辑器字符编码,代码文档要保存为utf-8格式。

6、若插入数据乱码,可以对插入数据进行转码。先把字符串转为utf-8再插入数据库中。