欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

頁面亂碼問題的根源及其分析

 更新時間:2013年08月09日 10:14:53   作者:  
這個問題已經遇到過倆次了,就是頁面中明確指明了編碼是UTF8,但是顯示是亂碼。雖然知道解決方法,也知道是Apache的原因,但是一直沒有去找其所以然,今天趁機,就研究了一下

首先, 關閉PHP配置文件php.ini中的default_charset:
1. 頁面沒有指定charset , Apache配置defaultcharst gbk , 頁面文件編碼是utf-8
結果: 亂碼,使用wireshark抓包,發(fā)現服務器返回的header中指明了:

復制代碼 代碼如下:

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的手冊:
AddDefaultCharset指令
說明當應答內容是text/plain或text/html時,在HTTP應答頭中加入的默認字符集
語法AddDefaultCharsetOn|Off|charset
默認值AddDefaultCharsetOff
作用域serverconfig,virtualhost,directory,.htaccess
覆蓋項FileInfo
狀態(tài)核心(C)
模塊core
當且僅當應答內容是text/plain或text/html時,此指令將會在HTTP應答頭中加入的
默認字符集。理論上這將覆蓋在文檔體中通過<meta>標 簽指定的字符集,但是實際
的行為通常取決于用戶瀏覽器的設置。AddDefaultCharsetOff將會禁用此功能。
AddDefaultCharsetOn將啟用Apache內部的默認字符集iso-8859-1。您
也可以指定使用在IANA注冊過的字符集名字 中的另外一個charset。
比如說:
AddDefaultCharsetutf-8

也就是說,當Apache不指定defaultcharset的時候,頁面編碼由頁面自己的meta標簽指定。
當Apache指定的時候,將忽略頁面中的meta標簽指定的編碼. 但是容許腳本直接header編碼方式給客戶端

最后,還有一個問題沒有得出結果:
當Apache和頁面都沒有指定的時候, 又如何?
我在自己的機器上,如果都不指定, 默認還是utf8.

相關文章

  • php處理帶有中文URL的方法

    php處理帶有中文URL的方法

    這篇文章主要介紹了php處理帶有中文URL的方法,涉及php編碼轉換相關操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • PHP使用PDO實現mysql防注入功能詳解

    PHP使用PDO實現mysql防注入功能詳解

    這篇文章主要介紹了PHP使用PDO實現mysql防注入功能,結合實例形式詳細分析了PHP使用pdo操作mysql防注入原理、實現方法及相關注意事項,需要的朋友可以參考下
    2019-12-12
  • php實現數組中索引關聯數據轉換成json對象的方法

    php實現數組中索引關聯數據轉換成json對象的方法

    這篇文章主要介紹了php實現數組中索引關聯數據轉換成json對象的方法,基于Yii框架分析了php數組與json格式數據的轉換技巧,需要的朋友可以參考下
    2015-07-07
  • php基于curl實現的股票信息查詢類實例

    php基于curl實現的股票信息查詢類實例

    這篇文章主要介紹了php基于curl實現的股票信息查詢類,結合完整實例形式分析了php使用curl調用API接口實現股票信息查詢功能的相關操作技巧,需要的朋友可以參考下
    2016-11-11
  • PHP數組去重的更快實現方式分析

    PHP數組去重的更快實現方式分析

    這篇文章主要介紹了PHP數組去重的更快實現方式,結合實例形式對比分析了php實現數組去重的各種常見操作技巧與注意事項,需要的朋友可以參考下
    2018-05-05
  • php Xdebug 調試擴展的安裝與使用.

    php Xdebug 調試擴展的安裝與使用.

    下載xdebug擴展的時候注意xdebug的版本與php版本相對應,不然出現不必要的麻煩!
    2010-03-03
  • php中強制下載文件的代碼(解決了IE下中文文件名亂碼問題)

    php中強制下載文件的代碼(解決了IE下中文文件名亂碼問題)

    以下這段代碼作用是:瀏覽器提交excel格式的數據和文件名到服務器上,PHP將請求轉化為可下載的excel文件,并要求瀏覽器彈出文件下載提示窗口
    2011-05-05
  • 解決Yii2郵件發(fā)送結果返回成功,但接收不到郵件的問題

    解決Yii2郵件發(fā)送結果返回成功,但接收不到郵件的問題

    最近在使用Yii2發(fā)送郵件的時候遇到了一個問題,發(fā)送返回提示成功但并沒有收到郵件,所以通過查找相關的資料,下面這篇文章就來給大家介紹了關于如何解決Yii2郵件發(fā)送結果返回成功,但接收不到郵件的問題,需要的朋友可以參考下。
    2017-05-05
  • 數組與類使用PHP的可變變量名需要的注意的問題

    數組與類使用PHP的可變變量名需要的注意的問題

    本篇文章是對數組與類使用PHP的可變變量名需要的注意的問題進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • 詳解PHP如何讀取大文件

    詳解PHP如何讀取大文件

    作為PHP開發(fā)人員,我們不需要擔心內存管理。在極少數情況下,我們可能需要走出舒適的界限—例如,當我們嘗試在可以創(chuàng)建的最小VPS上為大型項目運行Composer時,或者需要在同樣小的服務器上讀取大文件時。這是我們將在本教程中討論的一個問題。
    2021-05-05

最新評論