本文目錄一覽:
- 1、php修改了網頁header為gb2312後,html標籤裡面的文字又會亂碼?怎麼辦。
- 2、PHP文件插入header(“Content-type: text/html; charset=utf-8”); 報錯
- 3、PHP 輸出簡單的中文 亂碼問題
php修改了網頁header為gb2312後,html標籤裡面的文字又會亂碼?怎麼辦。
編碼不是亂設置的,應當遵循這樣一個原則:文件保存的編碼格式、header設置的輸出編碼格式、數據庫存儲使用的編碼三者保持一致。
如果數據庫編碼是GB2312,請修改網頁代碼的編碼也為GB2312,且網頁header設置為gb2312,或者三者全部設置為UTF-8
PHP文件插入header(“Content-type: text/html; charset=utf-8”); 報錯
這是因為你的PHP文件不是以utf-8格式保存的,不要使用記事本來編輯你的PHP文件,可以使用notepad++來更改你的PHP文件的格式,步驟如下:
一、下載並安裝notepad++,可以通過百度搜索找到notepad++的官網下載安裝包並安裝。
二、使用notepadd++打開你的PHP文件。即通過鼠標右鍵你的PHP文件並選擇edit with notepad++。
三、打開你的PHP文件後,在菜單欄中選擇編碼,並選擇使用utf-8編碼,最後保存文件即可。
擴展資料
記事本中的utf-8格式
記事本在使用utf-8格式保存文件時,會使用utf-8有BOM編碼。而我們通常所指的utf-8是指無BOM編碼。這就是我們要用notepad++來將文件更改為utf-8格式的原因。
對於UTF-8來說,BOM標記的有無並不是必須的,是可選的,因為UTF8字節沒有順序,不需要標記.
也就是說一個UTF-8文件可能有BOM,也可能沒有BOM。
微軟在自己的UTF-8格式的文本文件之前加上了EF BB BF三個字節, windows上面的notepad等程序就是根據這三個字節來確定一個文本文件是ASCII的還是UTF-8的, 然而這個只是微軟暗自作的標記, 其它平台上不一定會對UTF-8文本文件做個這樣的標記。
微軟的一些軟件會做這種檢測,但有些軟件不做這種檢測, 而把它當作正常字符處理。這就造成了亂碼問題。
參考資料來源:百度百科-字符編碼
PHP 輸出簡單的中文 亂碼問題
解決php中中文亂碼問題方法
php文件本身的編碼與網頁的編碼應匹配
a. 如果欲使用gb2312編碼,那麼php要輸出頭:header(“Content-Type: text/html; charset=gb2312″),靜態頁面添加meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″,所有文件的編碼格式為ANSI,可用記事本打開,另存為選擇編碼為ANSI,覆蓋源文件。
b. 如果欲使用utf-8編碼,那麼php要輸出頭:header(“Content-Type: text/html; charset=utf-8″),靜態頁面添加meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″,所有文件的編碼格式為utf-8。保存為utf-8可能會有點麻煩,一般utf-8文件開頭會有BOM,如果使用session就會出問題,可用editplus來保存,在editplus中,工具-參數選擇-文件-UTF-8簽名,選擇總是刪除,再保存就可以去掉BOM信息了。
php本身不是Unicode的,所有substr之類的函數得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼。
如果你的HTML文件文件出現了亂碼問題,那麼你可以在head標籤裡面加入UTF8編碼(國際化編碼):UTF-8是沒有國家的編碼,也就是獨立於任何一種語言,任何語言都可以使用的。
擴展資料:
解決PHP 輸出簡單的中文 亂碼問題的其他方法:
在php的echo前面加入header(“Content-Type:text/html;charset=gb2312”)
把meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ /中的UTF-8改成gb2312
參考資料:
百度百科-PHP
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/152832.html