收藏此站 联系我们 腾云网络科技有限公司
关于我们 行业动态 网站建设 技术日志
当前位置:首页 » 技术日志 » PHP页面显示乱码?腾云网络教你如何解决

PHP页面显示乱码?腾云网络教你如何解决

作者: 宿迁腾云网络 . 阅读量: . 发表时间:2017-07-27

  

网页乱码一直是网络编程高手都头痛的问题,在学习当中经常遇到这个问题,查找了相关的资源,总结如下:

一般的中文编码:gb2312,gbk(前者的一种扩展),这两种编码缺乏国际通用性;UTF-8为国际标准编码,一般网页编码使用该编码方式;

出现乱码大部分是由于编码方式的不一致导致的,其中主要有四个地方不一致就可能存在这个可能:

1、页面文件的编码方式(.html,.php等)

2、 html.head中指定浏览器的编码方式

3、MySQL数据库传输的编码方式

4、Apache字符集

这四个的编码一般需要统一起来,统一为UTF-8更为合适。以下四点应该注意:

1、PlusEdit这种编辑会识别文件编码,打开并保存后编码方式保持不变 ;而像visual studio 2005、Zend Studio等开发工具会以工具首选项中的字符集打开并保存,可能改变原来的编码方式,可能原来是utf-8的,zend studio ->工具(首选项编码为gb2312),打开并保存就变成了gb2312可能会出现乱码;


2、<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 这句话可以强制要求浏览器以utf-8编码方式来查看页面,但有一点需要注意,可能Apache的字符集为非UTF-8,例如GB2312,此时浏览器会优先以服务器(GB2312)的字符集编码打开,又可能导致乱码;所以一般可以这么处理:关闭服务器Apache的字符集AddDefaultCharset off 此时浏览会以页面Head中字符集打开;


3、PHP一般都与mysql数据库交互,两者进行数据通信时,也有一个编码问题,不管增还是查,必须指定通信编码方式(一般与Head中编码方式UTF-8一致,否则取出来的数据是以非UTF-8编码的,到页面上显示仍旧为乱码;把UTF-8编码的字符通过非UTF-8的通信方式传输到数据库同样会失败,我遇到了这个Insert失败问题,希望大家不要重蹈覆辙,O(∩_∩)O~) 指定通信方式方法:mysql_query('set names utf8'),注意不是utf-8


4、一般跟数据库建库时的编码没有关系,修改后sql语句执行会有问题,比如前台可视化工具操作删除数据时会报字符集不符合的错误(我用的工具为MySql-Front),也不需要修改my.ini文件中的编码方式,修改后可能导致Mysql无法启动,报1065错误 ;只要命令行执行mysql客户机程序时增与查没有出现乱码,数据库的编码方式应该是没有问题的,重点需要检查的是否是上面三个导致的乱码。



 转载声明:本文由宿迁腾云网络原创文章
 转载请注明来源:http://www.tyweb.net/jsrz/1501117360.html
 宿迁腾云网络科技有限公司专注 宿迁网站建设 宿迁专业做网站 宿迁网站制作 DEDE织梦仿站 微信开发 APP开发
现在咨询免费送诊断方案,每天限3名
马上填写资料获取方案
腾云网络产品
网站建设 营销型网站 手机网站建设 企业建站套餐
腾云网络服务
7x24小时售后支持 全市上门服务 免费后台培训 定期回访
关于腾云网络
关于我们
行业动态 网站建设 技术日志
联系腾云网络
联系腾云网络
紧急问题处理电话
131-6035-5545131-6035-5545
131-6035-5545
扫一扫关注腾云网络公众号