Saya akan menjawab di sini karena terlalu panjang untuk komentar.
Anda tidak perlu mengubah penyandian, Anda harus memeriksa pengkodean Anda. Ingatlah bahwa penyandian dapat diubah di banyak tempat berbeda:
- Dalam database Anda dengan fungsi rangkaian karakter
- Dalam konfigurasi Apache Anda dengan AddDefaultCharset
- Dengan php fungsi header
- Dalam html Anda dengan
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
tandai
Salah satu dari alasan ini dapat menyebabkan penyandian yang salah ditampilkan di browser web. Dan jika Anda tidak menentukannya dengan satu atau lebih metode sebelumnya, lapisan yang sesuai akan menggunakan konfigurasi defaultnya.
Dalam kasus Anda karena teks berasal dari database dan karena sering kali di WAMP/XAAMP/MAMP MySQL menggunakan penyandian default yang aneh, saya akan memeriksa poin satu. Coba jalankan SET NAMES UTF-8
(atau penyandian apa pun yang Anda gunakan) kueri sebelum mengambil data, tepat setelah fungsi db connect Anda.