Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah berlian hitam dengan tanda soal muncul dalam output PHP saya?

Mengapakah berlian hitam dengan tanda soal muncul dalam output PHP saya?

Barbara Streisand
Barbara Streisandasal
2024-11-13 09:38:02352semak imbas

Why are black diamonds with question marks appearing in my PHP output?

Isu Pengekodan Aksara yang Membawa kepada Paparan Berlian Hitam dengan Tanda Soalan dalam Output PHP

Apabila mendapatkan semula data daripada sumber pangkalan data dan memaparkannya dalam PHP, adalah mungkin untuk menemui berlian hitam dengan tanda soal (�) dalam medan VARCHAR yang mengandungi teks petikan. Ini biasanya timbul akibat percanggahan pengekodan.

Punca Isu Pengekodan

Berlian hitam dengan aksara tanda soal (U FFFD, WATA PENGGANTIAN) muncul apabila teks dikodkan dalam pengekodan bait tunggal (seperti ISO-8859-1) ditafsirkan dalam pengekodan unikod (seperti UTF-8 atau UTF16).

Cara Menyelesaikan Isu

Untuk membetulkan isu ini, anda boleh:

Tetapkan Pengepala HTTP untuk Menentukan Pengekodan:

  • Gunakan fungsi pengepala() untuk menetapkan pengepala HTTP: header("Content-Type: text/html; charset=ISO-8859-1");

Gunakan Meta Tag untuk Menentukan Pengekodan:

  • Tambah tag meta pada kepala HTML:

Baca daripada Pangkalan Data dalam Pengekodan Berbeza:

  • Cuba membaca daripada pangkalan data dalam pengekodan yang berbeza, seperti UTF-8.

Tukar Teks Menggunakan iconv():

  • Anda boleh menggunakan iconv() untuk menukar teks daripada satu pengekodan kepada yang lain : iconv('ISO-8859-1', 'UTF-8', $text);

Oleh menangani ketidakpadanan pengekodan, anda boleh memastikan bahawa teks yang dipetik dipaparkan dengan betul tanpa berlian hitam atau tanda tanya.

Atas ialah kandungan terperinci Mengapakah berlian hitam dengan tanda soal muncul dalam output PHP saya?. 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