页面乱码问题的根源及其分析 |
本文标签:页面乱码 首先, 关闭PHP配置文件php.ini中的default_charset: 复制代码 代码如下: Content-Type:text/html;charset=GB 结论:当页面没有指明charset的时候,Apache的defaultcharset起作用 2. 页面指定charset为utf-8, Apache配置defaultcharset gbk. 页面文件是utf-8 复制代码 代码如下: <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <div id="page-header"> 测试Apache DefaultCharset </div> </body> </html> 结果还是出现乱码 。 结论:当Apache配置了DefaultCharset, 将忽略页面的charset申明 。 3. PHP header申明charset为utf8, Apache配置defaultcharst gbk,页面文件编码是utf8 复制代码 代码如下: header("Content-Type:text/html; charset=utf-8"); 结果 : 页面显示正常 。 4 Apache设置DefaultCharset off 翻阅了下Apache2的手册: 也就是说,当Apache不指定defaultcharset的时候,页面编码由页面自己的meta标签指定 。 |