Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyimpan dan Memaparkan Rentetan Hindi Unicode dengan betul dalam PHP dan MySQL?

Bagaimana untuk Menyimpan dan Memaparkan Rentetan Hindi Unicode dengan betul dalam PHP dan MySQL?

Patricia Arquette
Lepaskan: 2024-11-30 20:18:18
asal
199 orang telah melayarinya

How to Properly Store and Display Unicode Hindi Strings in PHP and MySQL?

Menyimpan dan Memaparkan Rentetan Unikod (हिन्दी) Menggunakan PHP dan MySQL

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:

  1. Ekod menggunakan "sumber paparan": Buka "sumber paparan" halaman web di mana teks dipaparkan dengan betul, salin aksara kod (सूर्योदय dalam kes ini) dan kemudian masukkan rentetan yang dikodkan ini ke dalam pangkalan data.
  2. Tetapkan NAMA dan SET KARAKTER: Sebagai alternatif, anda boleh mengubah suai tetapan sambungan pangkalan data dalam skrip PHP anda untuk mentakrifkan set aksara dan himpunan secara eksplisit. Ini memastikan data disimpan dan diambil menggunakan pengekodan yang sama. Berikut ialah contoh:
$result = mysql_query("SET NAMES utf8");
$cmd = "select * from hindi";
$result = mysql_query($cmd);
Salin selepas log masuk

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!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan