文件编码需要做到三个编码一致,如果你做到以下三个编码一致就永远不会出现乱码了!!!!!
创新互联主要从事网站设计、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务遂平,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
(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")
做到上面各编码一致的编码一致,不会出现乱码的!!
所有在页面在编码都要统一,并不是在页面加入utf-8的header就行了,我的就是遇到过这样的,要把网页重新保存为utf-8的编码
中文乱码问题经常会出现
1、数据库、数据表、字段 编码格式要保持一致
2、如果在doc界面录入数据,要保持当前编码格式与数据表编码格式一致
3、php读取数据显示,要保持文件的编码格式、html页面的编码格式同数据库一致,编码格式为utf-8或gb2312或gbk
4、php连接数据库之后mysql_query('set names gbk')
没法定义,
php不会自动转码,或者http协议里也不会按照你的参数设置自动转码
所以,这需要你自己用代码去转换编码
思路:
1.连接网页读取数据.
2.从header头信息里或者网页代码里获取网页的编码方式(字符集,gbk,utf8等)
3.根据需要把数据转换成你要的字符集
4.解析数据
注:
1.抓数据,若使用file(),file_get_contents()等,网页字符集信息,可从html代码里用正则匹配出来
meta
http-equiv="Content-Type"
content="text/html;
charset=gb2312"
/
2.若使用fsockopen()抓数据,
可从http响应头里取的字符集.但响应头里也可能没有字符集信息.最好再结合html头部信息解析下
3.php的正则,建议使用
preg库,
那个功能和性能都更好些
复制源程序里的\caches\configs\system.php这个文件,用专业的编辑器(如DW、Notepad++等)打开重新更改相应数据,保存并上传,现在就OK了。
phpcms指的是一款具备文章、下载、图片、分类信息、影视、商城、采集、财务等众多功能的强大、易用、可扩展的网站管理软件,同时也是一个开源的PHP开发框架;它采用模块化开发,支持多种分类方式,支持众多的程序组合,可轻松实现网站平台迁移。
Phpcms是国内领先的网站内容管理系统,同时也是一个开源的PHP开发框架。
Phpcms采用模块化开发,支持多种分类方式,使用它可方便实现个性化网站的设计、开发与维护。它支持众多的程序组合,可轻松实现网站平台迁移,并可广泛满足各种规模的网站需求,可靠性高,是一款具备文章、下载、图片、分类信息、影视、商城、采集、财务等众多功能的强大、易用、可扩展的优秀网站管理软件。
也许是数据库的问题,我也遇到过,我用的是wampserver,界面的工具,直接点鼠标就可能建成mysql数据库,建成后导入数据,查询数据库返回面而的是乱码,我遇到的情况是这样的:
1、建库用gbk,如图。
2、导入表及数据时,默认是utf,此处要改成gbk就不是乱码了,如第图底页面,如果是默认的或是其它的字符集,能导入成功但是乱码。另外直接把sql粘贴到sql窗口,也不是乱码。
希望能帮到你,呵呵~