Apabila bekerja dengan rentetan unikod, adalah penting untuk memastikan pengendalian yang betul pada semua peringkat, termasuk penyimpanan dalam pangkalan data, perolehan semula dan paparan pada halaman web. Artikel ini menangani isu yang dihadapi oleh pembangun yang menghadapi kesukaran memaparkan teks Hindi dalam skrip PHP yang diperoleh daripada pangkalan data MySQL.
Persediaan awal melibatkan mencipta pangkalan data dengan pengekodan UTF-8 dan pengumpulan utf8_bin, menambah varchar medan dengan set aksara UTF-8 dan cuba memasukkan teks Hindi "सूर्योदय:05:30" secara langsung. Walau bagaimanapun, selepas mengambil dan memaparkan data menggunakan echo(utf8_encode($string)), penyemak imbas mengembalikan "?????."
Punca bagi tingkah laku ini terletak pada ketidakpadanan pengekodan aksara. Teks "सूर्योदय" harus disimpan sebagai UTF-8, tetapi ia disalin terus daripada sumber yang kemungkinan besar dikodkan dalam format yang berbeza. Untuk menyelesaikan masalah ini, dua kaedah boleh digunakan:
$result = mysql_query("SET NAMES utf8"); $cmd = "select * from hindi"; $result = mysql_query($cmd);
Dengan menggunakan salah satu daripada kaedah ini, teks Hindi boleh disimpan dengan betul dalam pangkalan data dan dipaparkan dengan betul pada halaman web.
Mengenai persoalan tentang skrip untuk menukar teks Hindi kepada kod aksara HTML, anda boleh mencari alat atau perpustakaan dalam talian yang menyediakan fungsi ini. Selain itu, tapak web Kod Aksara HTML (cth., https://www.w3schools.com/charsets/ref_html_utf8.asp) boleh digunakan untuk mendapatkan kod aksara bagi aksara Unikod tertentu.
Adalah penting untuk ambil perhatian bahawa apabila memaparkan aksara Hindi pada halaman web, adalah penting untuk menentukan set aksara dalam pengepala HTML atau menggunakan arahan pengepala PHP untuk memastikan penyemak imbas mentafsir teks betul.
Atas ialah kandungan terperinci Bagaimana untuk Menyimpan dan Memaparkan Rentetan Hindi Unicode dengan betul dalam PHP dan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!