一、

学习php的童鞋在编写网页的时候,要是设计到中文内容的储存的时候,大多会出现一个问题就是乱码。一般乱码的话,我们可以检查三个方面

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

1
<meta charset="UTF-8">

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

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

------------------

环境:win7+wamp2.2

------------------

二、

下面我们就第二点开始,mysq数据库使用的编码字符集

(1)打开mysql终端,查看当前的设置,确定要修改的范围

1
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、再次打开终端,我们再次输入

1
show variables like 'char%';

倘若出现下面的结果,即mysql数据设置成功

三、

网页文件编码这个问题最容易被忽略,这个是在保存的时候,选择保存文件编码的格式时设置的。

解决办法:

1、使用notepad++打开该网页文件,然后在“格式”--“转为UTF-8无BOM编码格式”

2、保存一下就好了

问题分析:

1、我在编写php的时候已经使用过

1
<span style="font-size:18px;"><?php mysql_query('set names utf8'); ?><br></span>

但是还是出现乱码问题!

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

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编码!

本文转自 qq414207614 51CTO博客,原文链接:http://blog.51cto.com/skytina/1591864,如需转载请自行联系原作者

你的php网页乱码了吗相关推荐

  1. python抓取中文网页乱码

    我们经常通过python做采集网页数据的时候,会碰到一些乱码问题,今天给大家分享一个解决网页乱码,尤其是中文网页的通用方法. 首页我们需要安装chardet模块,这个可以通过easy_install ...

  2. 第4步 tomcat配置中文字符集 启动Tomcat  网页乱码

    第二部:给页面上添加mate标签 <html> <meta http-equiv="Content-Type" content="text/html; ...

  3. python爬虫的数据如何解决乱码_写爬虫时如何解决网页乱码问题

    实战讲解,文章较长,对爬虫比较熟悉的浏览翻看章节 2.3 获取新闻文本内容. 写爬虫时经常对网址发起请求,结果返回的html数据除了标签能看懂,其他的全部是乱码.大家如果对爬虫感兴趣,请耐心阅读本文, ...

  4. MATLAB读取网页内链接,Matlab使用urlread()读取网页乱码问题

    2021年2月9日发(作者:television是什么意思) Matlab 使用 urlread() 读取网页乱码问题 事先声明这是本人在网上找到的( / 2012-05/ ) ,非 原创: Matl ...

  5. ASP+Access UTF-8 网页乱码问题解决办法

    用ACCESS数据库和ASP做网站时用UTF-8编码有时会出现乱码,再者网页出错或者刷新页面后就是乱码,如果数据库取值乱码在开头加上<%@LANGUAGE="VBSCRIPT" ...

  6. php 汉字到html乱码怎么办,html网页乱码问题以及解决办法总结

    造成html网页乱码原因主要是html源代码内中文字内容与html编码不同造成.但无论是哪种情况造成乱码在网页开始时候都需要设置网页编码.那么怎么解决网页中乱码的情况呢?下面就来带大家看几篇关于乱码的 ...

  7. java 抓取网页乱码_java抓取网页乱码问题的处理

    今天同事做了一个我们感觉很牛B的彩票预测程序,采用的是遗传算法实现,于是我"剽"来学习先,但是部署到我电脑上以后,就有问题了: 1.用她的抓取程序得到的网页内容出现乱码,导致数据无 ...

  8. Tomcat网页乱码、控制台乱码

    一.控制台乱码解决 修改Tomcat中的 logging.properties配置文件如下即可 二.网页乱码解决 1.修改Tomcat中的配置文件server.xml中如下 2.在servlet中使用 ...

  9. CHM文件乱码与网页乱码

    CHM格式是比较常见的文件格式,尤其是手册,查看.搜索非常方便.但是有些时候下载的CHM打开乱码. 以前还碰到过一个情况,一个手册在我电脑上正常,传给同事他打开就乱码了. 网上找了一下,原来是IE没有 ...

  10. 解决网页乱码以及为什么会出现网页乱码?

    网页为什么会出现乱码? 网页乱码是因为网页没有明确设置字符编码. 有时候用户在网页中没有明确指定网页的字符编码,但是网页能够正常显示,这是因为网页字符的编码与浏览器解析网页时默认采用的编码一致,所以不 ...

最新文章

  1. 两台ubuntu虚拟机环境下hadoop安装配置
  2. BCGSoft Demo示例展示:菜单示例集合(2/2)
  3. centos7 安装 mysql rpm_CentOS7使用rpm安装MySQL8
  4. Stanford机器学习笔记-6. 学习模型的评估和选择
  5. android ui自动化测试框架有哪些,自动化测试框架对比(UIAutomator、Appium、Robotium)...
  6. ConcurrentSkipListMap深入分析
  7. Flutter 系列文章:Flutter Icon 控件介绍
  8. python编程语言优缺点_原创001 第一次接触这个神奇而又无所不能的编程语言:Python...
  9. ORACLE DATAGURARD配置手记
  10. python异常值处理实例_利用Python进行异常值分析实例代码
  11. php 网关接口,[PHP] 通用网关接口CGI 的运行原理
  12. Java修饰符public,private,protected及默认的区别
  13. 《从零开始学Swift》学习笔记(Day 12)——说几个特殊运算符
  14. R语言初学者指南pdf
  15. Tomcat内存溢出的三种情况及解决办法分析
  16. 计算机学院毕设中期检查报告,毕业设计中期检查报告
  17. 【话题:工作生活】2020年工作总结--杭漂结束,沪漂开始。
  18. 服务器更新维护公告,10月15日(周四)服务器更新维护公告
  19. 淘宝/天猫图片识别商品接口,1688图片识别商品API接口
  20. Excel自学笔记 第五节 怎么在列后加统一固定字符?

热门文章

  1. 编译条件编译——判断当前使用的编译器及操作系统
  2. Android 中的MVP 模式
  3. Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决(转)...
  4. leetcode Valid Palindrome
  5. Python模块之optparse
  6. C#的语法总结(第一版)
  7. VC++ (四)动态内存
  8. 数组作为方法的返回值
  9. 性能测试之JMeter中JSON断言详解
  10. UDP套接字编程以及提高UDP可靠性的方法