你的php网页乱码了吗

一、

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

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

<meta charset="UTF-8">

(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的时候已经使用过

<?php mysql_query(‘set names utf8‘); ?>

但是还是出现乱码问题!

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

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

时间: 2024-11-18 03:04:35

你的php网页乱码了吗的相关文章

网页乱码原理

做博客项目中遇到浏览器的参数提交到服务器产生乱码现象,于是对乱码问题一探究竟. 1.网页乱码是怎么发生的 为了搞清楚,这个网页乱码可能出现的情况,我把网页的chaset,文件的编码方式和response的编码格式都作为变量来测试.结果如下: 由此我断定,网页的编码方式和解码方式一样的时候,才不会出现乱码现象.而浏览器的解码方式response的header设置的charset  >  meta charset. 2.浏览器给服务器传参乱码 浏览器给服务器传参乱码,有可能是浏览器在传给服务器之前就

PHP网页乱码的问题

在自己制作一个网页时,时常会遇到网页乱码的问题. 其实导致网页乱码主要有几个原因,以下给出解决方法. 1.HTML的字符编码问题 该问题较常见,也是最明显和最容易解决的. 在网页<head>中加上: <meta http-equiv="Content-Type" Content="text/html;charset=utf8"/> 即可. 2.PHP的字符编码问题 这与上面类似. 在文件上方加上: header("Content-t

【PHP】解决网页乱码问题

在自己制作一个网页时,时常会遇到网页乱码的问题. 其实导致网页乱码主要有几个原因,以下给出解决方法. 1.HTML的字符编码问题 该问题较常见,也是最明显和最容易解决的. 在网页<head>中加上: <meta http-equiv="Content-Type" Content="text/html;charset=utf8"/> 即可. 2.PHP的字符编码问题 这与上面类似. 在文件上方加上: header("Content-t

网页乱码,解决方法

网页乱码,字符集的问题.博主少说废话了!直接上解决方法! 二种:1.在apache/nginx配置文件中,将charset值 更改为utf8/gb2312 2.在apache/nginx配置文件中,将 Charset值直接注释掉,然后在你的网页动态语言中,加入这一行: <head> <meta http-equiv="content-type" content="text/html:charset=utf8/gb2312"/> </he

python(27)requests 爬取网页乱码,解决方法

最近遇到爬取网页乱码的情况,找了好久找到了种解决的办法: html = requests.get(url,headers = head) html.apparent_encoding html.encoding = html.apparent_encoding print html.text 头文件中添加: import sys reload(sys) sys.setdefaultencoding("utf-8")

网页乱码解决小心得

出现乱码需要检查的项目:数据库编码.文件本身的字符集.html解析的字符集,如若上述项目编码一致仍然出现乱码,查看一下浏览器的编码,如果和设置的不一样说明上述设置有部分未成功,可以尝试使用header()函数再转化一下. FYI: 1. header("Content-type: text/html; charset=utf-8"); 2. <meta http-equiv="Content-Type" content="text/html; cha

python抓取中文网页乱码通用解决方法

我们经常通过python做采集网页数据的时候,会碰到一些乱码问题,今天给大家分享一个解决网页乱码,尤其是中文网页的通用方法. 首页我们需要安装chardet模块,这个可以通过easy_install 或者pip来安装. 安装完以后我们在控制台上导入模块,如果正常就可以. 比如我们遇到的一些ISO-8859-2也是可以通过下面的方法解决的. 直接上代码吧: import urllib2import sysimport chardet req = urllib2.Request("http://ww

WebRequest 获取网页乱码

问题:在用WebRequest获取网页源码时得到的源码是乱码. 原因:1,编码不对 解决办法:设置对应编码 WebRequest request = WebRequest.Create(Url);WebResponse response = await request.GetResponseAsync(); Stream stream = response.GetResponseStream();StreamReader reader = new StreamReader(stream, Enc

前端那些事儿——中文乱码,网页中文乱码,网页乱码,块元素,内联元素

1.中文乱码 出现中文乱码的原因:网页源代码与内容的编码格式不一样,例如一个是GBK,一个是utf-8 解决方法:改成一样的编码...(注意:用IDE或者其他工具创建页面时的编码格式,跟<meta/> 里面的字符集charset字符集格式保持一致就好了) ======================================================= 2.块级元素与内联元素(有多种叫法:内联元素.内嵌元素.行内元素.直进式元素) block & inline对照表 blo

CSS失效网页乱码原因兼容问题-手写CSS代码注意什么

我们在写html代码和css 代码应该注意些什么,这节我们讲解大小写与编码问题.(体感音乐) 乱码VS编码前面我们介绍过导致网页乱码.CSS失效等原因一部分是由于自己编写的时候没有注意编码问题,不编码转化问题,常常因为自己写的时候使用一种编码,发现别人比较好的DIV+CSS片段比较好直接就复制过来用,结果别人编码与自己编码不符合从而造成网页在IE中呈现乱码,或CSS失效(CSS声明).解决办法使用软件中编码转化功能进行网页代码转化.如使用Dreamweaver中功能转化编码.-了解语言编码cha