首頁 > 後端開發 > php教程 > 使用 file_get_contents() 時如何修正 UTF-8 字元損壞?

使用 file_get_contents() 時如何修正 UTF-8 字元損壞?

Barbara Streisand
發布: 2024-12-04 16:19:16
原創
178 人瀏覽過

How Can I Fix UTF-8 Character Corruption When Using file_get_contents()?

file_get_contents() UTF-8 字元損壞:解決方案

使用file_get_contents() 檢索採用UTF-8 編碼的HTML 內容時,使用者可能會遇到呈現ľ、š、č 和ž 等特殊字元的問題錯誤地。這會導致顯示 Å、¾ 和 ¤ 等亂碼字元。

問題出在 file_get_contents() 所使用的預設編碼。要解決這個問題,可以在函數呼叫中明確指定所需的編碼。然而,將檢索到的 HTML 保存到文件並使用 UTF-8 編碼列印也被證明是無效的,這表明損壞的資料是從來源本身檢索的。

已證明成功的解決方案是執行多- 對檢索到的 HTML 字串進行位元組轉換。以下是涉及的步驟:

  1. 使用 mb_detect_encoding($html, 'UTF-8', true) 偵測 HTML 字串的目前編碼。
  2. 將字串轉換為 UTF- 8 使用 mb_convert_encoding($html, 'UTF-8', mb_detect_encoding($html, 'UTF-8', true))。
  3. 最後,使用 mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8') 將 UTF-8 字串轉換為 HTML 實體。

透過執行這些步驟,檢索到的 HTML 字串將被正確轉換,從而允許正確顯示 UTF-8 字元。

以上是使用 file_get_contents() 時如何修正 UTF-8 字元損壞?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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