1、php/html文件编码与数据库编码不统一
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、网站建设、道县网络推广、成都小程序开发、道县网络营销、道县企业策划、道县品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供道县建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
2、连接数据库时没有设置连接编码,“set names 。。。”
3、数据库编码设置有问题
4、数据库字段编码设置有问题
5、php程序里面没有对相关的字段进行转码
可以把数据库处理语句写到一个类(推荐)了!也可以把PHP,数据库的编码都设成一样!这句是把数据以你设置的编码存入数据苦!并没有修改!不信就试试:如你设置的编码是gb2312把数据库的改成utf8看会不会乱码?
中文乱码问题经常会出现
1、数据库、数据表、字段 编码格式要保持一致
2、如果在doc界面录入数据,要保持当前编码格式与数据表编码格式一致
3、php读取数据显示,要保持文件的编码格式、html页面的编码格式同数据库一致,编码格式为utf-8或gb2312或gbk
4、php连接数据库之后mysql_query('set names gbk')
你的问题应该是数据库编码格式不是utf-8,查看一下
文件编码需要做到三个编码一致,如果你做到以下三个编码一致就永远不会出现乱码了!!!!!
(1)数据库编码
数据库编码注意的是数据库表字段的编码和数据库客户端编码,比如表字段的编码是UTF-8,操作数据库PHP文件编码是GB2312, 怎样才不会出现乱码呢?这个时候就要用SET NAMES GB2312来设置数据库服务器的客户端的编码,这样数据库服务器就会自动将数据库中编码为UTF-8的数据自动转化为GB2312,在接收的PHP文件就保证收到的数据不会有乱码
(2)PHP文件编码
也就是你在保存文件时选择的文件编码,如果不是当前你想要的编码可以通过“另存为”改变编码
(3)HTML中meta http-equiv="content-type" content="text/html;charset=gb2312"/设置客户端浏览器显示数据的编码,其本质是设置HTTP中Content-Type报头的值,PHP中要做到这一点可以用 header("content-type:text/html;charset=gb2312")
做到上面各编码一致的编码一致,不会出现乱码的!!