Rumah >pembangunan bahagian belakang >masalah PHP >Apa yang perlu dilakukan jika php+fread() bercelaru

Apa yang perlu dilakukan jika php+fread() bercelaru

藏色散人
藏色散人asal
2023-01-18 10:21:471527semak imbas

php+fread() kod bercelaru adalah kerana pengekodan halaman output tidak konsisten dengan pengekodan fail yang dibaca Penyelesaiannya: 1. Buka fail PHP yang sepadan 2. Baca fail melalui fread fungsi; 3. Lulus Kaedah "iconv('gbk', 'utf-8', $data)" hanya menukar kod kandungan yang dibaca.

Apa yang perlu dilakukan jika php+fread() bercelaru

Persekitaran pengendalian tutorial ini: sistem Windows 10, PHP versi 8.1, komputer DELL G3

Cara membetulkan php+ fread() aksara kacau uruskan?

Dalam PHP, fail dibaca terus melalui fungsi fread Jika kandungan fail menemui aksara Cina, masalahnya akan bercelaru Bagaimana untuk menyelesaikan masalah ini.

Mungkin pengekodan halaman output tidak konsisten dengan pengekodan fail yang dibaca.

Penyelesaian:

Cuba alih kod kandungan selepas membacanya

iconv('gbk', 'utf-8', $data)

Pengenalan berkaitan:

iconv

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

iconv — Tukar rentetan kepada pengekodan aksara yang diperlukan

Penjelasan

iconv(string $in_charset, string $out_charset, string $str): string

Tukar rentetan str daripada in_charset kepada out_charset.

Parameter

in_charset

Input set aksara.

out_charset

Output set aksara.

Jika anda menambah rentetan //TRANSLIT selepas out_charset, fungsi transliterasi akan didayakan. Ini bermakna apabila watak tidak boleh diwakili oleh set aksara sasaran, ia boleh dianggarkan oleh satu atau lebih aksara yang serupa. Jika anda menambah rentetan //IGNORE, aksara yang tidak boleh dinyatakan dalam set aksara sasaran akan dibuang secara senyap. Jika tidak, E_NOTICE disebabkan dan palsu dikembalikan.

amaran

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

str

Rentetan untuk ditukar.

Nilai pulangan

Mengembalikan rentetan yang ditukar atau mengembalikan palsu apabila gagal. Fungsi

fread()

fread() membaca fail yang terbuka.

Fungsi akan berhenti berjalan apabila ia mencapai panjang yang ditentukan atau mencapai penghujung fail (EOF), yang mana dahulu.

Fungsi ini mengembalikan rentetan baca, atau FALSE jika gagal.

Sintaks

string fread ( resource $handle , int $length )

Parameter

mengendalikan penunjuk sistem fail, yang merupakan sumber yang biasanya dicipta oleh fopen().

panjang Diperlukan. Menentukan bilangan maksimum bait untuk dibaca.

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Apa yang perlu dilakukan jika php+fread() bercelaru. 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