apache 中文乱码问题

Apache 中文乱码
通过抓包发现
1,     正常显示中文页面的字符集采用UTF-8

2,  而中文字符乱码的采用单字节编码的ISO-8859-1字符集,该字符集并不支持中文

问题来了,这个问题是由于LMAP哪个程序解析的问题呢

我们考虑到该页面为静态页面,根本不涉及PHP解析问题,所以,当client端发请求至web server 端后,web server 直接返回该页面给client端,因为页面中没有PHP代码

可以看到纯HTML文档是能够正常解析的

查看PHP解析的文档是否正常

我们发现PHP文档中的中文依然能正常显示,那么问题来了,为何有的页面有乱码呢
我们查看下网页代码,发现页面中并未声明使用什么解码方式来解析该页面,在head字段中添加一行代码,告知客户端解析的字符集查看结果

添加代码

效果预览

由此我们可得出两点结论
1,     和抓包相同,默认情况下页面使用ISO-8859-1这和抓包内容看到的相吻合
2,     网页代码中是否声明该页面使用的字符集类型也会影响页面的显示情况
当然我们也可以通过修改LAMP环境的默认字符集,同样也可正常获取页面

结论:每个环节都可能对最终结果产生影响,我们要解决问题必须深刻知道是哪个环节出了问题,这样才能很快解决问题。

END !

时间: 2024-10-01 21:01:28

apache 中文乱码问题的相关文章

解决apache+tomcatserver环境中文乱码的问题

在使用apache做转发服务器时,碰到了中文乱码的问题. 说说解决思路: 1.通常乱码是由于编码不统一造成的.所以要先推断是不是由于编码问题造成的,假设是的话,那统一编码就能够去解决. 2.tomcat配置问题. tomcat下的conf/server.xml 两处加上URIEncoding="UTF-8" 例如以下:

解决apache+tomcat服务器环境中文乱码的问题

在使用apache做转发服务器时,碰到了中文乱码的问题. 说说解决思路: 1.通常乱码是因为编码不统一造成的,所以要先判断是不是因为编码问题造成的,如果是的话,那统一编码就可以去解决. 2.tomcat配置问题. tomcat下的conf/server.xml 两处加上URIEncoding="UTF-8" 如下: 版权声明:本文为博主原创文章,未经博主允许不得转载.

Struts2中文乱码问题源码分析___转

前几天在论坛上看到一篇帖子,是关于Struts2.0中文乱码的,楼主采用的是spring的字符编码过滤器 (CharacterEncodingFilter)统一编码为GBK,前台提交表单数据到Action,但是在Action中得到的中文全部是乱码,前 台的页面编码都是GBK没有问题.这是为什么呢?下面我们就通过阅读FilterDispatcher和CharacterEncodingFilter 这两个过滤器的源代码,了解其实现细节,最终得出为什么中文还是乱码! web.xml配置: 1     

java解压多目录Zip文件(解决中文乱码问题)--转载

原文地址:http://zhangyongbo.iteye.com/blog/1749439 import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; import org.apache.tools.zi

Spring boot 1.2.5.RELEASE 使用velocity模板中文乱码问题

application.properties文件: spring.velocity.resourceLoaderPath=classpath:/templates/ spring.velocity.prefix= spring.velocity.suffix=.vm spring.velocity.cache=false spring.velocity.check-template-location=true spring.velocity.charset=UTF-8 spring.veloci

PHP中文乱码解决办法

一.         首先是PHP网页的编码 1.     php文件本身的编码与网页的编码应匹配 a.     如果欲使用gb2312编码,那么php要输出头:header("Content-Type: text/html; charset=gb2312"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的编码格式为ANS

eclipse中文乱码

问题描述: 在导入log4j.properties文件时里面出现中文乱码,如下: ### 设置### log4j.rootLogger = debug,stdout,D,E ### è¾?å?ºä¿¡æ?¯å?°æ?§å?¶å?° ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layou

【开发必读】php与mysql中文乱码解决办法

原文地址:http://www.phpthinking.com/archives/320 MySQL对中文的支持程度还是很有限的,尤其是新手,但凡出现乱码问题,就会头大. 乱码问题1:用PHPmyAdmin操作MySQL数据库汉字显示正常,但用PHP网页显示MySQL数据时所有汉字都变成了?号. 症状:用PHPmyAdmin输入汉字正常,但当PHP网页显示MySQL数据时汉字就变成了?号,并且有多少个汉字就有多少个?号. 原因:没有在PHP网页中用代码告诉MySQL该以什么字符集输出汉字. 解决

【转】php pdo连接数据库 解决中文乱码问题(wordpress mysql 问号?? ??)

原文链接:http://blog.csdn.net/ysydao/article/details/11002295 PHP 用pdo连接数据库时出现中文乱码问题解决办法 1.array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8"),在与数据库建立连接的时候的第四个参数   example:        $dbh = new PDO($dsn,$user,$pass,array(PDO::MYSQL_ATTR_INIT_COM