您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“php+fread()亂碼如何解決”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
php+fread()亂碼是因?yàn)檩敵鲰撁娴木幋a和被讀文件的編碼不一致,其解決辦法:1、打開相應(yīng)的PHP文件;2、通過fread函數(shù)讀取文件;3、通過“iconv('gbk', 'utf-8', $data)”方法將讀取的內(nèi)容轉(zhuǎn)碼即可。
php中,通過fread函數(shù)直接讀取文件,文件內(nèi)容如果遇到中文則會(huì)出現(xiàn)亂碼問題,這個(gè)該如何去解決?
可能是輸出頁面的編碼和被讀文件的編碼不一致。
解決辦法:
讀出來以后把內(nèi)容轉(zhuǎn)碼試試
iconv('gbk', 'utf-8', $data)
相關(guān)介紹:
iconv
(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
iconv — 字符串按要求的字符編碼來轉(zhuǎn)換
說明
iconv(string $in_charset, string $out_charset, string $str): string
將字符串 str 從 in_charset 轉(zhuǎn)換編碼到 out_charset。
參數(shù)
in_charset
輸入的字符集。
out_charset
輸出的字符集。
如果你在 out_charset 后添加了字符串 //TRANSLIT,將啟用轉(zhuǎn)寫(transliteration)功能。這個(gè)意思是,當(dāng)一個(gè)字符不能被目標(biāo)字符集所表示時(shí),它可以通過一個(gè)或多個(gè)形似的字符來近似表達(dá)。 如果你添加了字符串 //IGNORE,不能以目標(biāo)字符集表達(dá)的字符將被默默丟棄。 否則,會(huì)導(dǎo)致一個(gè) E_NOTICE并返回 false。
警告
//TRANSLIT 運(yùn)行細(xì)節(jié)高度依賴于系統(tǒng)的 iconv() 實(shí)現(xiàn)(參見 ICONV_IMPL)。 據(jù)悉,某些系統(tǒng)上的實(shí)現(xiàn)會(huì)直接忽略 //TRANSLIT,所以轉(zhuǎn)換也有可能失敗,out_charset 會(huì)是不合格的。
str
要轉(zhuǎn)換的字符串。
返回值
返回轉(zhuǎn)換后的字符串, 或者在失敗時(shí)返回 false。
fread()
fread() 函數(shù)讀取打開的文件。
函數(shù)會(huì)在到達(dá)指定長(zhǎng)度或讀到文件末尾(EOF)時(shí)(以先到者為準(zhǔn)),停止運(yùn)行。
該函數(shù)返回讀取的字符串,如果失敗則返回 FALSE。
語法
string fread ( resource $handle , int $length )
參數(shù)
handle 文件系統(tǒng)指針,是典型地由 fopen() 創(chuàng)建的 resource(資源)。
length 必需。規(guī)定要讀取的最大字節(jié)數(shù)。
“php+fread()亂碼如何解決”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。