您好,登錄后才能下訂單哦!
php中header如何設置編碼,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
php中header設置編碼的方法:1、打開相應的PHP文件;2、通過“header("content-type:text/html; charset=xxx");”語法設置編碼即可。
本文操作環境:windows7系統、PHP7.1版,DELL G3電腦
php中header怎么設置編碼?
header("content-type:text/html; charset=xxx");
這個函數header()的作用是把括號里面的信息發到http標頭。
如果括號里面的內容為文中所說那樣,那作用和<META>標簽基本相同,大家對照第一個看發現字符都差不多的。但是不同的是如果有這段 函數,瀏覽器就會永遠采用你所要求的xxx編碼,絕對不會不聽話,因此這個函數是很有用的。為什么會這樣呢?那就得說說HTTPS標頭和HTML信息的差 別了:
https標頭是服務器以HTTP協議傳送HTML信息到瀏覽器前所送出的字串。
因為meta標簽是屬于html信息的,所以header()發送的內容先到達瀏覽器,通俗點就是header()的優先級高于meta(不知道可 不可以這樣講)。加入一個php頁面既有header("content-type:text/html; charset=xxx"),又有<META http-equiv="content-type" content="text/html; charset=xxx">,瀏覽器就只認前者http標頭而不認meta了。當然這個函數只能在php頁面內使用。
同樣也留有一個問題,為什么前者就絕對起作用,而后者有時候就不行呢?這就是接下來要談的Apache的原因了。
AddDefaultCharset
Apache 根目錄的 conf 文件夾里,有整個Apache的配置文檔httpd.conf。
用文本編輯器打開httpd.conf,第708行(不同版本可能不同)有AddDefaultCharset xxx,xxx為編碼名稱。這行代碼的意思:設置整個服務器內的網頁文件https標頭里的字符集為你默認的xxx字符集。有這行,就相當于給每個文件都 加了一行header("content-type:text/html; charset=xxx")。這下就明白為什么明明meta設置了是utf-8,可瀏覽器始終采用gb2312的原因。
如果網頁里有header("content-type:text/html; charset=xxx"),就把默認的字符集改為你設置的字符集,所以這個函數永遠有用。如果把AddDefaultCharset xxx前面加個“#”,注釋掉這句,而且頁面里不含header("content-type…"),那這個時候就輪到meta標簽起作用了。
關于php中header如何設置編碼問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。