设为首页 收藏本站
查看: 723|回复: 0

[经验分享] 你的php网页乱码了吗

[复制链接]

尚未签到

发表于 2018-12-22 11:01:54 | 显示全部楼层 |阅读模式
  一、
  学习php的童鞋在编写网页的时候,要是设计到中文内容的储存的时候,大多会出现一个问题就是乱码。一般乱码的话,我们可以检查三个方面

      (1)网页编码是否正确,比如是否在头部那里加入原标签

  
      (2)检查mysql数据库储存时默认使用的字符集

      (3)检查网页文件的编码,是否为对应的中文编码

  

  ------------------
  环境:win7+wamp2.2
  ------------------
  二、
  下面我们就第二点开始,mysq数据库使用的编码字符集
  (1)打开mysql终端,查看当前的设置,确定要修改的范围
show variables like 'char%';  (2)根据结果进行分析,
  1、如果你显示的结果和我的差不多,即(只有character_set_system编码为utf8)那么清跟随下面的脚步一步步来
  

  
  

  2、打开my.ini文件,搜索关键词'mysqld',找到之后,观察是否有这一行
  character_set_server = utf8
  倘若没有的话,则应该像我这样在其下面添加一句
  
  3、再次搜索关键词'client',观察是否有这一行
  default_character_set = utf8
  没有的话在[client]下面添加上
  
  4、保存,重启mysql服务,关闭mysql终端(不然看到的客户端编码不会更新)
  5、再次打开终端,我们再次输入
  
show variables like 'char%';  倘若出现下面的结果,即mysql数据设置成功
  
  三、
  网页文件编码这个问题最容易被忽略,这个是在保存的时候,选择保存文件编码的格式时设置的。
  解决办法:
  1、使用notepad++打开该网页文件,然后在“格式”--“转为UTF-8无BOM编码格式”
  
  2、保存一下就好了
  

  问题分析:
  1、我在编写php的时候已经使用过

  但是还是出现乱码问题!
  

  分析:使用上面语句,修改的只是三项,这三项分别为
  character_set_client

  character_set_connection
  character_set_results
  而且这种修改只是临时性的,关闭终端后又和原来一样
  图片说明:
  
  

  2、我们对于第三个乱码问题进行分析一下
  (1)使用sublime text3编辑打开php文件。可以看到左下角有编码的信息,可以看到,目前的编码为gb2312
  
  (2)当网页加载的时候,那时也就相当于打开一个文件,那时读取的格式时按照gb2312的编码来读取网页文件,而在用户浏览器显示时,因为网页声明了字符集为utf-8,所以会将得到文件按utf-8字符集来解释内容,这是就会出现乱码了,而我们那些从数据库读取出来的内容却没有问题
  网页编码
  
  原来的gbk编码的文件
  
  后来utf-8编码的文件
  
  (3)注意一点,sublime text3 的转换编码的时候不太给你,虽然显示转换成功,可是呢?显示还是依旧,还是我们的notepad++给力一点,怎么修改前面有!转换成功之后
  
  

  3、为什么我按照你所说的修改了,在mysql终端下显示,还是乱码呢?
  分析:
  (1)我们先来看看windows下的cmd的使用的字符集是什么?
  
  可以看到,cmd的字符集是gbk,也就是说任何在终端显示的内容会以对应gbk这个字符集,但是我们数据库的中文设置的utf8这个字符集,当我们要显示时,自然会以utf8编码的读取数据库数据,那时编码为utf-8,一到终端就乱套了
  

  (2)那该怎么查看呢?
  使用phpmyadmin就好了打,当然得设置我们使用的utf-8编码!




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-654335-1-1.html 上篇帖子: 生长区域算法的php实现 下篇帖子: Lamp(Fpm
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表