首先你的网站出现乱码问题,是由于编码不统一引起的,在一个网站中有三处编码:数据库编码、php程序编码、网页显示编码。数据库编码:即mysql建数据库时的编码,大多数默认是utf8_general_ci;php程序编码:即连接数据库时设定的编码,mysql_query("set names 'utf8'")也可以是GBK等;网页显示编码:即浏览器显示的编码,可以在html网页中定义,<meta http-equiv="content-type" content="text/htmlcharset=utf-8" />,也可以在php页面的header(“content-type:text/htmlcharset=utf-8")函数定义。
原因:
1、数据库编码、php程序编码不一致。这种情况下,你插入到数据库中的就是乱码了,所以显示的是乱码,在数据库中看到的就是乱码。
2、数据库编码、网页编码不一致。这种情况下,你插入到数据库的数据是正常显示的,但从数据库读出并显示到浏览器就是乱码了,因为两者编码不一致,致使编码混乱所致。
3、php程序编码、网页显示编码不一致。这种册返情况下,你的源数据编码与显示的数据编码不一致,从而使显示乱码,这一点比较好理解,两者从开始就不一致,所以最后显示就不一致,呈现乱码。
解决方法:
避免乱码,要做到”三码合一“,即上述三处编码要统一,举个例子绝孙:如果你要用utf-8的编码,那么数据库编码就为:utf8_general_ci;php程序编码就为:mysql_query("set names 'utf8'"),网页显示编码就为:<meta http-equiv="content-type" content="text/htmlcharset=utf-8" />或者是php页面中的header(“content-type:text/htmlcharset=utf-8"),这就看你的前台页面是html还是php了。
如果这三码统一了,你打开网页还是乱码,就右键单击网页选中编码项,改为你网页的编码或者是自动检测,要不就在浏览器的工具菜单里改一下编码,刷并姿链新一下网页就ok。
字符纯祥帆编码 就是字符的二进制编码方式 , 同一个字符 用不同的编码方式时 二进制的数据不同的,用一种编码方式时展现另一种编码方式的文字时 会出现对应的另一个字符, 这就是乱码了,要是网页不出现乱码 至少要做到宴神 编码统一
1 服务器端网页文件 要统一使用一种编码
2 文件头要做雹声明这个网页是使用何种编码的, 而且与存储的文件编码相同
如
header("Content-Type: text/htmlcharset=utf-8")
3 浏览器一般能识别,这个声明若不能识别 说明 第二步的声明有错误或者浏览器不能理解
4 最重要一点 如果使用的数据库 , 数据库的编码也要一致
5, 容易忽略的 一点 , 如果 windows 系统使用了中文文件名是用的是GBK 码 如果你的网页文件不使用GBK 引用文件名 目录名时 一定要转码
第一种,html网页源代码编码与中文字输入编码不同。解决方法:
使用软件进行编辑HTML网页内容,推荐使用DW软件进行HTML代码编辑和开发。
尽量不要直接使用记事本进行编辑HTML代码。
第二种,如果网页设置编码是gbk的,而数据库储存数据编码格式是UTF-8的,这个时候程序查询数据库数锋颤据显示数据前进乡程序转码即可。
例如银没败PHP程序+mysql查询显示数据转码:
1、mysql_query("SET
NAMES
'UTF8'")
//将查询数据转码为utf8,也就是转换为utf-8
2、mysql_query("SET
NAMES
'GBK'")//将查询数据转码为GBK,如gbk2312
第三种,浏览器造成乱码。
这个可能是你网页没有设置meta
charset编码造成。导致浏览器不能识别你网页默认编码类型。解决方法:
1、如果浏览器浏览时候出现网页乱码,在浏览器中找到转换编码的菜单。
在IE9浏览器中需要转码的网页空白出右键鼠标,即可选择“编码”。
傲游浏览器中浏览需要转码的网页时,菜单“查看”-->“编码”即可选择转换编码
谷歌浏览器中浏览需要转码的网页时,点击右上角“三横”图察裂标选择“工具”-->“编码”即可选择切换网页编码达到让浏览器浏览此网页不是乱码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)