加勒比HEZYO黑人专区-久久精品国产99国产精品亚洲-精品国产18久久久久久-久久人妻少妇嫩草AV

歡迎光臨 織晶網絡官網!

  • 服務支持
  • 020-39182790
技術文檔您現在的位置:首頁 > 服務支持 > 技術文檔

php開發的過程中出現中文亂碼應該要如何去處理?

作者:織晶客服部   發布于:2015/12/14 14:30:39  點擊量:  來源:織晶網絡

php雖然是一種相對簡單的語言,但是在實際的開發過程中難免會碰到一些問題,這種情況在php開發中也是時有發生的。中文亂碼可以說是一個php開發中經常會出現的問題,對于很多的新人來說可能會比較手足無措,因為我們今天就來看一下如果在php開發中出現中文亂碼的話應該要如何處理吧。


PHP中文亂碼是軟件編程新手在進行PHP開發中的常見問題之一,中文亂碼現像有時發生在網頁本身,有些產生在于MYSQL交互的過程中,有時與操作系統有關,下面進行總結:


這種情況在php開發中最好最快的解決辦法就是使頁面申明的編碼與數據庫內部編碼一致,如果頁面申請的編碼與數據庫內部的編碼不一致時,那就設定連接編碼。Mysql_query(“setnames gb2312”) 或者 Mysql_query(“setnames utf8”)。  


1、 php文件本身的編碼與網頁的編碼應匹配,如果欲使用gb2312編碼,那么php要輸出頭  header(“Content-type:text/html;charset=gb2312”)。靜態頁面添加,所有文件的編碼格式為ANSI,可用記事本打開,另存為選擇編碼為ANSI,覆蓋源文件。  


2、 如果欲使用uft-8編碼,那么php要輸出頭header(“Content-type:text/html; charset=utf-8”),靜態頁面添加,所有文件的編碼格式為utf-8.保存為utf-8可能會有點麻煩,一般utf-8開頭會有BOM,如果使用 Session就會出現問題,可用editplus軟件來保存。在這個軟件中,選擇工具?參數選擇?文件?UTF-8簽名,選擇總是刪除,再保存就可以去掉BOM信息了。  


3、PHP本身不是Unicode的,所有substr之類的函數得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼。在需要做數據庫操作的PHP程序前加mysql_query(“set names 編碼”),編碼和PHP編碼一致,如果PHP編碼是gb2312那么mysql編碼也就是gb2312,如果是uft-8,那么mysql中就是utf8.這樣改過后就不會出現亂碼了。  


4、header和meta之間區別。首先,header是php的內置函數,而meta是html的信息。其次,apache在給瀏覽傳遞網頁編碼內容時,如果發現php文件使用header設置網頁顯示編碼則將不會再解析meta設置的編碼。最后,如果你寫的代碼是這樣,php文件header(“Content-type:text/html; charset=gbk2312”),靜態頁面添加,瀏覽會默認顯示為gbk2312而不是utf-8。這些規則是apache和php之間的協議。  


通過上面的辦法應該基本可以解決php開發中所出現的中文亂碼的問題,希望這樣的分享對于php開發本身能夠帶來幫助和啟發。




上一篇:Base標簽中 href 如何使用 ?

下一篇:第三方支付接口主要有哪些?