Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Membetulkan Rasuah Aksara UTF-8 Apabila Menggunakan file_get_contents()?

Bagaimanakah Saya Boleh Membetulkan Rasuah Aksara UTF-8 Apabila Menggunakan file_get_contents()?

Barbara Streisand
Barbara Streisandasal
2024-12-04 16:19:16264semak imbas

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

file_get_contents() Corruption of UTF-8 Characters: A Resolution

Apabila menggunakan file_get_contents() untuk mendapatkan semula kandungan HTML dengan pengekodan UTF-8 , pengguna mungkin menghadapi isu di mana aksara khas seperti ľ, š, č dan ž diberikan secara salah. Ini menyebabkan aksara omong kosong seperti Å, ¾ dan ¤ dipaparkan sebaliknya.

Masalahnya terletak pada pengekodan lalai yang digunakan oleh file_get_contents(). Untuk menyelesaikannya, seseorang boleh menentukan secara eksplisit pengekodan yang dikehendaki dalam panggilan fungsi. Walau bagaimanapun, menyimpan HTML yang diambil ke dalam fail dan mencetaknya dengan pengekodan UTF-8 juga terbukti tidak berkesan, menunjukkan bahawa data yang rosak diambil daripada sumber itu sendiri.

Penyelesaian yang telah terbukti berjaya adalah dengan melaksanakan pelbagai penukaran -bait pada rentetan HTML yang diambil. Berikut ialah langkah-langkah yang terlibat:

  1. Kesan pengekodan semasa rentetan HTML menggunakan mb_detect_encoding($html, 'UTF-8', true).
  2. Tukar rentetan kepada UTF- 8 menggunakan mb_convert_encoding($html, 'UTF-8', mb_detect_encoding ($html, 'UTF-8', benar)).
  3. Akhir sekali, tukar rentetan UTF-8 kepada entiti HTML menggunakan mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8').

Oleh melaksanakan langkah-langkah ini, rentetan HTML yang diambil akan ditukar dengan betul, membolehkan aksara UTF-8 dipaparkan dengan betul.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membetulkan Rasuah Aksara UTF-8 Apabila Menggunakan file_get_contents()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn