首頁 >後端開發 >PHP問題 >如何解決php iso 8859 1亂碼問題

如何解決php iso 8859 1亂碼問題

藏色散人
藏色散人原創
2020-09-12 09:22:153906瀏覽

phpiso 88591亂碼的解決方法:先使用iconv解碼為「ISO-8859-1」;然後透過「iconv("GB18030", "UTF-8", $str));」方法轉為「GB18030」;最後再還原到「UTF-8」即可解決亂碼問題。

如何解決php iso 8859 1亂碼問題

推薦:《PHP影片教學

解決UTF 文件中的亂碼問題

在瀏覽器中Unicode 狀態下,我看到這樣的一個亂碼,我嘗試用PHP 進行解碼,失敗了... 不過簡單的文件編碼轉換,就成功了,步驟是這樣的:

保持內容為Western (ISO8859-1)格式

用瀏覽器開啟,設定編碼為GB2312,完成

問題是這樣的,我的檔案如果必須要用UTF8 編碼,如何把這段亂碼解碼呢?

亂碼內容是: 

'²»ÖªµÀÕâÑùµÄÖ÷»ú¡£'

PHP擴充iconv是用來進行編碼轉換的。

轉碼方法是:

$text = iconv("ISO-8859-1", "UTF-8", $text)

答案沒有那麼簡單,我剛剛試了一下,正確的方案是這樣的

var_dump($str = iconv("UTF-8", "ISO-8859-1", '²»ÖªµÀÕâÑùµÄÖ÷»ú¡£'));
var_dump($str = iconv("GB18030", "UTF-8", $str));

首先要解碼為ISO-8859- 1,不過這個狀態下還是亂碼,所以還要再轉為GB18030,然後再還原到UTF-8 (與所在的檔案相符的編碼)。

以上是如何解決php iso 8859 1亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn