❶ 如何解決php中文亂碼問題
PHP中文亂碼主要是編碼不對,存在以下兩種情況,你以此檢查一下 ,改對編碼就行了
1、 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信息了。
2. php本身不是Unicode的,所有substr之類的函數得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼。
❷ 中文url編碼、base64編碼,PHP解碼中文部分亂碼
1. 如果伺服器間的頁面編碼不一致,可能會出現亂碼問題。例如,當對方伺服器發送的是GBK編碼的內容,而本地的PHP編碼不是GBK時,接收到的內容就會出現亂碼。
2. 解決此問題的兩種方法:
- 方法一,將頁面的編碼更改為GBK。這可以通過在PHP中添加header('Content-Type:text/html charset=gbk');來實現。
- 方法二,將GBK編碼的內容轉換為當前頁面的編碼(假設當前頁面編碼為UTF-8)。可以使用iconv函數,將'gbk'轉換為'utf-8',同時傳入經過urldecode和base64解碼後的字元串作為參數。
❸ 正常php上傳圖片要轉成base64編碼么,為什麼要這么做
正常PHP上傳圖片不一定要轉成Base64編碼。是否這么做取決於具體的需求和系統設計。以下是關於這個問題的詳細解答:
常見做法:
使用Base64編碼的情況:
Base64編碼的潛在缺點:
決策依據:
綜上所述,正常PHP上傳圖片時是否轉成Base64編碼並沒有固定的答案,而是需要根據實際需求和系統設計來決定。