首頁 > 後端開發 > PHP問題 > php+fread()亂碼怎麼辦

php+fread()亂碼怎麼辦

藏色散人
發布: 2023-03-17 19:40:02
原創
1522 人瀏覽過

php fread()亂碼是因為輸出頁面的編碼和被讀取檔案的編碼不一致,其解決方案:1、開啟對應的PHP檔案;2、透過fread函數讀取檔案;3、透過“ iconv('gbk', 'utf-8', $data)」方法將讀取的內容轉碼即可。

php+fread()亂碼怎麼辦

本教學操作環境:Windows10系統、PHP8.1版、DELL G3電腦

php fread()亂碼怎麼辦?在

php中,透過fread函數直接讀取文件,文件內容如果遇到中文則會出現亂碼問題,這個該如何去解決?

可能是輸出頁面的編碼和被讀取檔案的編碼不一致。

解決方法:

讀出來以後把內容轉碼試試看

iconv('gbk', 'utf-8', $data)
登入後複製

相關介紹:

#iconv

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

iconv — 字串依要求的字元編碼來轉換

說明 

iconv(string $in_charset, string $out_charset, string $str): string
登入後複製

將字串str 從in_charset 轉換編碼到out_charset。

參數 

in_charset

輸入的字元集。

out_charset

輸出的字元集。

如果你在 out_charset 後面加入了字串 //TRANSLIT,將會啟用轉寫(transliteration)功能。這個意思是,當一個字元不能被目標字元集所表示時,它可以透過一個或多個形似的字元來近似表達。如果你加入了字串 //IGNORE,不能以目標字元集表達的字元將被默默丟棄。否則,會導致一個 E_NOTICE並傳回 false。

警告

//TRANSLIT 运行细节高度依赖于系统的 iconv() 实现(参见 ICONV_IMPL)。 据悉,某些系统上的实现会直接忽略 //TRANSLIT,所以转换也有可能失败,out_charset 会是不合格的。
登入後複製

str

要轉換的字串。

傳回值 

回傳轉換後的字串, 或是失敗時傳回 false。

fread()

fread() 函數讀取開啟的檔案。

函數會在到達指定長度或讀到檔案結尾(EOF)時(以先到者為準),停止運作。

此函數傳回讀取的字串,如果失敗則傳回 FALSE。

語法

string fread ( resource $handle , int $length )
登入後複製

參數

handle    檔案系統指針,是典型地由 fopen() 建立的 resource(資源)。   

length    必需。規定要讀取的最大位元組數。   

推薦學習:《PHP影片教學

以上是php+fread()亂碼怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板